Pandas 常用的 35 个经典操作

Pandas 是 Python 最常用的数据处理库之一,提供了丰富的数据结构和数据分析工具。本文将介绍 Pandas 最常用的基础操作,帮助你快速上手数据处理和分析。

导入库并创建 DataFrame

首先,我们需要导入 Pandas 库,并创建一个 DataFrame。这里我们使用字典来创建一个简单的 DataFrame:

import pandas as pd

data = {

    '姓名': ['张三', '李四', '王五', '赵六'],

    '年龄': [25, 30, 35, 40],

    '性别': ['男', '女', '男', '女']

}

df = pd.DataFrame(data)‍

1. 查看数据前 5 行

print(df.head())  # 输出前 5 行数据‍

2. 查看数据信息

print(df.info())  # 输出数据的信息,如数据类型、非空值数量等‍

3. 查看数据描述性统计信息

print(df.describe())  # 输出数据的描述性统计信息,如均值、标准差等

4. 查看数据列名

print(df.columns)  # 输出数据的列名‍

5. 查看数据索引

print(df.index)  # 输出数据的索引‍

6. 按列名选择数据

print(df['姓名'])  # 选择 '姓名' 列的数据‍

7. 按列名修改数据

df['姓名'] = ['张三丰', '李四光', '王五岳', '赵六令']

print(df)  # 修改 '姓名' 列的数据‍

8. 按条件筛选数据

filtered_df = df[df['年龄'] > 30]

print(filtered_df)  # 筛选出 '年龄' 大于 30 的数据‍

9. 按条件修改数据

df.loc[df['年龄'] > 30, '年龄'] = 31

print(df)  # 修改 '年龄' 大于 30 的数据‍

10. 按条件删除数据

df = df[df['年龄'] != 31]

print(df)  # 删除 '年龄' 等于 31 的数据‍

11. 添加新列

df['城市'] = ['北京', '上海', '广州', '深圳']

print(df)  # 添加 '城市' 列‍

12. 删除列

df = df.drop('城市', axis=1)

print(df)  # 删除 '城市' 列‍

13. 重命名列

df = df.rename(columns={'姓名': '名字'})

print(df)  # 重命名 '姓名' 列为 '名字'‍

14. 设置索引

df = df.set_index('名字')

print(df)  # 将 '名字' 列设为索引‍

15. 重置索引

df = df.reset_index()

print(df)  # 重置索引‍

16. 排序

sorted_df = df.sort_values(by='年龄')

print(sorted_df)  # 按 '年龄' 列排序‍

17. 分组

grouped_df = df.groupby('性别')

print(grouped_df.mean())  # 按 '性别' 列分组并计算均值‍

18. 合并

data2 = {'名字': ['孙悟空', '猪八戒'], '年龄': [500, 400], '性别': ['男', '男']}

df2 = pd.DataFrame(data2)

merged_df = pd.concat([df, df2])

print(merged_df)  # 合并两个 DataFrame‍

19. 插入数据

df.loc[1.5] = ['唐僧', 25, '男']

df = df.sort_index().reset_index(drop=True)

print(df)  # 在索引 1 和 2 之间插入一行数据‍

20. 删除数据

df = df.drop([1, 2])

print(df)  # 删除索引为 1 和 2 的行‍

21. 填充缺失值

df['年龄'] = df['年龄'].fillna(30)

print(df)  # 填充 '年龄' 列的缺失值‍

22. 去除重复值

df = df.drop_duplicates()

print(df)  # 去除重复行‍

23. 数据透视表

pivot_table = pd.pivot_table(df, values='年龄', index='名字', columns='性别')

print(pivot_table)  # 创建数据透视表‍

24. 数据转置

transposed_df = df.T

print(transposed_df)  # 转置 DataFrame‍

25. 数据合并(按行)

df3 = pd.DataFrame({'名字': ['白龙马'], '年龄': [300], '性别': ['男']})

merged_df = pd.merge(df, df3, on='名字')

print(merged_df)  # 按 '名字' 列合并两个 DataFrame‍

26. 数据合并(按列)

merged_df = pd.merge(df, df3, left_index=True, right_index=True)

print(merged_df)  # 按索引合并两个 DataFrame‍

27. 数据连接(按行)

connected_df = pd.concat([df, df3])

print(connected_df)  # 按行连接两个 DataFrame‍

28. 数据连接(按列)

connected_df = pd.concat([df, df3], axis=1)

print(connected_df)  # 按列连接两个 DataFrame‍

29. 数据切片

sliced_df = df[1:3]

print(sliced_df)  # 切片 DataFrame‍

30. 数据迭代

for index, row in df.iterrows():

    print(row)  # 迭代 DataFrame 的每一行‍

31. 数据过滤

filtered_df = df[(df['年龄'] > 25) & (df['性别'] == '男')]

print(filtered_df)  # 过滤出符合条件的数据‍

32. 数据替换

df['性别'] = df['性别'].replace('男', 'M')

print(df)  # 替换 '性别' 列的值‍

33. 数据映射

mapping = {'男': 'M', '女': 'F'}

df['性别'] = df['性别'].map(mapping)

print(df)  # 映射 '性别' 列的值‍

34. 数据透视表(多重索引)

pivot_table = pd.pivot_table(df, values='年龄', index=['名字', '性别'])

print(pivot_table)  # 创建多重索引的透视表‍

35. 数据透视表(聚合函数)

pivot_table = pd.pivot_table(df, values='年龄', index='名字', columns='性别', aggfunc='mean')

print(pivot_table)  # 创建带有聚合函数的透视表‍

总结

本文介绍了 Pandas 常用的 35 个基础操作,包括数据筛选、修改、删除、分组、合并、连接、透视表等。通过这些操作,你可以对数据进行有效的处理和分析。在实际应用中,可以根据具体需求选择合适的操作来满足你的需求。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值