Python之数据规整化:清理、转换、合并、重塑

简介: Python之数据规整化:清理、转换、合并、重塑1. 合并数据集pandas.merge可根据一个或者多个不同DataFrame中的行连接起来。pandas.concat可以沿着一条轴将多个对象堆叠到一起。实例方法combine_first可以将重复数据编接在一起,用一个对象中的值填充另一个对象中的缺失值。2. 数据风格的DataFrame合并操作

Python之数据规整化:清理、转换、合并、重塑

1. 合并数据集

pandas.merge可根据一个或者多个不同DataFrame中的行连接起来。
pandas.concat可以沿着一条轴将多个对象堆叠到一起。
实例方法combine_first可以将重复数据编接在一起,用一个对象中的值填充另一个对象中的缺失值。

2. 数据风格的DataFrame合并操作

2.1 数据集的合并(merge)或连接(jion)运算时通过一个或多个键将行链接起来的。如果没有指定,merge就会将重叠列的列名当做键,最好显示指定一下。
pd.merge(df1,df2,on='key')
2.2 默认情况下,merge做的是"inner"连接,结果中的键是交集。其他方式有“left”、“right”、“outer”。外连接求取的是键的并集,组合了左连接和右连接。
2.3 都对的的连接是行的笛卡尔积。
2.4 merge的suffixes选项,用于指定附加到左右两个DataFrame对象的重叠列名上的字符串。

3. 索引上的合并

DataFrame有merge和join索引合并。

4. 重塑和轴向旋转

有许多用于重新排列表格型数据的基础运算。这些函数也称作重塑(reshape)或轴向旋转(pivot)运算。
4.1 重塑层次化索引
层次化索引为DataFrame数据的重排任务提供了良好的一致性方式。主要两种功能:
    stack:将数据的列“旋转”为行。
    unstack:将数据的行“旋转”为列。

5. 数据转换

5.1 利用函数或映射进行数据转换
Series的map方法可以接受一个函数或含有映射关系的字典型对象。
5.2 替换值
replace可以由一个带替换值组成的列表以及一个替换值
data.replace([-999,-1000],np.nan)
5.3 重命名轴索引
轴标签也可通函数或映射进行转换,从而得到一个新对象轴还可以被就地修改,而无需新建一个数据结构。
5.4 离散化和面元划分
为了便于分析,连续数据常常被分散化或拆分成“面元”(bin)。
pandas的cut函数
5.5 检测和过滤异常值
异常值的过滤或变换运算很大程度上其实就是数组的运算。

6. 字符串操作

6.1 字符串对象方法
split以逗号分割的字符串可以拆分成数段。
字符串“::”的jion方法以冒号分隔符的形式连接起来。
6.2 正则表达式
描述一个或多个空白符的regex是\s+
创建可重用的regex对象:
regex = re.complie('\s+')
regex.split(text)
6.3 pandas中矢量化的字符串函数
实现矢量化的元素获取操作:要么使用str.get,要么使用str属性上使用索引。
目录
相关文章
|
4天前
|
数据采集 存储 API
网络爬虫与数据采集:使用Python自动化获取网页数据
【4月更文挑战第12天】本文介绍了Python网络爬虫的基础知识,包括网络爬虫概念(请求网页、解析、存储数据和处理异常)和Python常用的爬虫库requests(发送HTTP请求)与BeautifulSoup(解析HTML)。通过基本流程示例展示了如何导入库、发送请求、解析网页、提取数据、存储数据及处理异常。还提到了Python爬虫的实际应用,如获取新闻数据和商品信息。
|
22天前
|
监控 数据处理 索引
使用Python批量实现文件夹下所有Excel文件的第二张表合并
使用Python和pandas批量合并文件夹中所有Excel文件的第二张表,通过os库遍历文件,pandas的read_excel读取表,concat函数合并数据。主要步骤包括:1) 遍历获取Excel文件,2) 读取第二张表,3) 合并所有表格,最后将结果保存为新的Excel文件。注意文件路径、表格结构一致性及异常处理。可扩展为动态指定合并表、优化性能、日志记录等功能。适合数据处理初学者提升自动化处理技能。
20 1
|
25天前
|
数据格式 Python
如何使用Python的Pandas库进行数据透视图(melt/cast)操作?
Pandas的`melt()`和`pivot()`函数用于数据透视。基本步骤:导入pandas,创建DataFrame,然后使用这两个函数转换数据格式。示例代码展示了如何通过`melt()`转为长格式,再用`pivot()`恢复为宽格式。输入数据是包含'Name'和'Age'列的DataFrame,最终结果经过转换后呈现出不同的布局。
38 6
|
25天前
|
数据挖掘 数据处理 索引
如何使用Python的Pandas库进行数据筛选和过滤?
Pandas是Python数据分析的核心库,其DataFrame数据结构便于数据操作。筛选与过滤数据主要包括:导入pandas,创建DataFrame,通过布尔索引、`query()`或`loc[]`、`iloc[]`方法筛选。
|
26天前
|
数据处理 Python
如何使用Python的Pandas库进行数据排序和排名?
Pandas在Python中提供数据排序和排名功能。使用`sort_values()`进行排序,如`df.sort_values(by='A', ascending=False)`进行降序排序;用`rank()`进行排名,如`df['A'].rank(ascending=False)`进行降序排名。多列操作可传入列名列表,如`df.sort_values(by=['A', 'B'], ascending=[True, False])`。
22 6
|
27天前
|
Python
如何使用Python的Pandas库进行数据缺失值处理?
Pandas在Python中提供多种处理缺失值的方法:1) 使用`isnull()`检查;2) `dropna()`删除含缺失值的行/列;3) `fillna()`用常数、前/后一个值填充;4) `interpolate()`插值填充。根据需求选择合适的方法处理数据缺失值。
15 0
|
27天前
|
索引 Python
如何使用Python的Pandas库进行数据合并和拼接?
【2月更文挑战第28天】【2月更文挑战第103篇】如何使用Python的Pandas库进行数据合并和拼接?
|
28天前
|
索引 Python
如何使用Python的Pandas库进行数据透视表(pivot table)操作?
如何使用Python的Pandas库进行数据透视表(pivot table)操作?
16 0
|
27天前
|
索引 Python
如何在Python中,Pandas库实现对数据的时间序列分析?
Pandas在Python中提供强大的时间序列分析功能,包括:1) 使用`pd.date_range()`创建时间序列;2) 通过`pd.DataFrame()`将时间序列转为DataFrame;3) `set_index()`设定时间列作为索引;4) `resample()`实现数据重采样(如按月、季度);5) `rolling()`进行移动窗口计算,如计算移动平均;6) 使用`seasonal_decompose()`进行季节性调整。这些工具适用于各种时间序列分析场景。
26 0
|
1天前
|
机器学习/深度学习 数据采集 数据挖掘
Python 的科学计算和数据分析: 解释什么是数据规整(Data Wrangling)?
数据规整是将原始数据转化为适合分析和建模的格式的关键步骤,涉及缺失值处理(删除、填充、插值)、异常值检测与处理、数据类型转换、重采样、数据合并、特征选择和特征变换等任务。这些预处理步骤确保数据质量和准确性,为后续的数据分析和机器学习模型构建奠定基础。
12 4