Pandas 常用操作示例:数据处理、分析与转换
- 读取数据:使用
read_csv函数读取 csv 文件,使用read_excel函数读取 Excel 文件。
import pandas as pd
df = pd.read_csv('data.csv')
df = pd.read_excel('data.xlsx')
- 查看数据:使用
head函数查看前几行数据,使用tail函数查看后几行数据,使用describe函数查看数据的统计信息。
print(df.head())
print(df.tail())
print(df.describe())
- 筛选数据:使用
loc函数按行和列标签筛选数据,使用iloc函数按行和列位置筛选数据,使用query函数按条件筛选数据。
# 根据标签筛选数据
df.loc[df['age'] > 18, ['name', 'age']]
# 根据位置筛选数据
df.iloc[0:3, 0:2]
# 根据条件筛选数据
df.query('age > 18')
- 排序数据:使用
sort_values函数对数据进行排序,默认升序排序,可以设置ascending参数为False进行降序排序。
# 按年龄升序排序
df.sort_values('age')
# 按年龄降序排序
df.sort_values('age', ascending=False)
- 分组数据:使用
groupby函数对数据进行分组,然后使用聚合函数对分组后的数据进行计算。
# 按性别分组,计算平均年龄
df.groupby('gender')['age'].mean()
# 按性别和城市分组,计算人数和平均年龄
df.groupby(['gender', 'city']).agg({'age': 'mean', 'name': 'count'})
- 合并数据:使用
merge函数将两个数据集合并为一个,使用concat函数将多个数据集合并为一个。
# 根据 id 将两个数据集合并
pd.merge(df1, df2, on='id')
# 将多个数据集按行合并
pd.concat([df1, df2])
- 缺失值处理:使用
isnull函数判断数据是否缺失,使用dropna函数删除缺失值,使用fillna函数填充缺失值。
# 判断数据是否缺失
df.isnull()
# 删除缺失值
df.dropna()
# 填充缺失值
df.fillna(0)
- 数据转换:使用
apply函数对数据进行转换,使用map函数对数据进行映射,使用replace函数对数据进行替换。
# 对年龄进行转换
df['age'] = df['age'].apply(lambda x: x + 1)
# 对性别进行映射
df['gender'] = df['gender'].map({'male': 1, 'female': 0})
# 对城市进行替换
df['city'] = df['city'].replace({'beijing': '北京', 'shanghai': '上海'})
原文地址: https://www.cveoy.top/t/topic/oJ6P 著作权归作者所有。请勿转载和采集!