📅  最后修改于: 2023-12-03 15:24:04.466000             🧑  作者: Mango
Pandas 是一个 Python 的数据分析库,它提供了 Series(序列)和 DataFrame(数据框)两种数据结构。Series 可以看作是一维数组,而 DataFrame 可以看作是二维数组。Pandas 库提供了很多数据整理的函数,包括数据筛选、缺失值处理、数据转换、数据合并等。
首先我们需要读取数据,Pandas 提供了很多函数可以读取不同格式的数据文件,如 CSV、Excel、JSON、HTML 等。其中最常用的是 read_csv()
。
import pandas as pd
# 读取 CSV 文件
data = pd.read_csv('data.csv')
数据筛选是数据整理中最常用的操作之一,它可以根据一定的条件选择数据子集。Pandas 提供了多种方法实现数据筛选,下面是一些常见的方法:
[]
运算符使用 []
运算符可以对行或列进行筛选,常见的用法有:
# 筛选单个列
data['column_name']
# 筛选多个列
data[['column_name1', 'column_name2']]
# 筛选行
data[start:end] # 筛选 start 到 end 之间的行
data[condition] # 根据条件筛选行,condition 是一个布尔数组
# 例子:筛选某个列
result = data['column_name']
loc
和 iloc
属性loc
和 iloc
属性分别用于基于行标签和整数位置来筛选数据。
# 基于行标签筛选数据
data.loc[labels]
# 基于整数位置筛选数据
data.iloc[integer_location]
# 例子:基于行标签筛选数据
result = data.loc[data['column_name'] == 'value']
query()
函数query()
函数可用于查询满足条件的行。
# 查询满足条件的行
data.query('condition')
# 例子:查询某个列符合条件的行
result = data.query("column_name == 'value'")
在数据整理中,经常会遇到缺失值。Pandas 提供了多种处理缺失值的方法。
使用 isnull()
函数可以查找缺失值。该函数返回一个布尔数组,其中缺失值为 True
,否则为 False
。
# 查找缺失值
data.isnull()
使用 fillna()
函数可以填充缺失值。该函数可以接受一个参数,用于指定缺失值被填充的值。
# 填充缺失值
data.fillna(value)
使用 replace()
函数可以用指定的值替换缺失值。
# 使用指定值替换缺失值
data.replace(to_replace=pd.na,value=0)
使用 dropna()
函数可以删除缺失值。
# 删除缺失值
data.dropna()
数据转换是数据整理中另一个重要的操作。Pandas 提供了多种数据转换的函数。
使用 astype()
函数可以将数据转换为指定的类型。该函数接受一个参数,用于指定目标类型。
# 类型转换
data.astype(dtype)
使用 sort_values()
函数可以对数据进行排序。该函数接受一个参数,用于指定排序方式。
# 数据排序
data.sort_values(by)
使用 pivot_table()
函数可以对数据进行重塑。该函数接受多个参数,用于指定数据重塑的方式。
# 数据重塑
pd.pivot_table(data, index=['column_name1', 'column_name2'], values='value')
数据合并是数据整理中另一个常见的操作。Pandas 提供了多种数据合并的函数。
merge()
函数使用 merge()
函数可以合并两个数据框。
# 合并两个数据框
pd.merge(df1, df2, on='column_name')
join()
函数使用 join()
函数可以基于列索引或行索引合并两个数据框。
# 使用 join() 函数将两个数据框合并
df1.join(df2, how='inner')
本文介绍了 Pandas 中常见的数据整理操作,包括数据读取、数据筛选、缺失值处理、数据转换、数据合并等。Pandas 为数据整理提供了强大的支持,可以使我们在数据分析中高效、方便地进行数据整理。