Pandas 常用的 35 个经典操作

本人项目地址大全:Victor94-king/NLP__ManVictor: 优快云 of ManVictor


写在前面: 笔者更新不易,希望走过路过点个关注和赞,笔芯!!!

写在前面: 笔者更新不易,希望走过路过点个关注和赞,笔芯!!!

写在前面: 笔者更新不易,希望走过路过点个关注和赞,笔芯!!!


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 行数据‍

图片

图片

图片

  1. 查看数据信息

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

图片

图片

图片

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

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

图片

图片

图片

  1. 查看数据列名

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

图片

图片

图片

  1. 查看数据索引

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

图片

图片

图片

  1. 按列名选择数据

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

图片

图片

图片

  1. 按列名修改数据

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

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

图片

图片

图片

  1. 按条件筛选数据

filtered_df = df[df[‘年龄’] > 30]

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

图片

图片

图片

  1. 按条件修改数据

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

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

图片

图片

图片

  1. 按条件删除数据

df = df[df[‘年龄’] != 31]

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

图片

图片

图片

  1. 添加新列

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

print(df) # 添加 ‘城市’ 列‍

图片

图片

图片

  1. 删除列

df = df.drop(‘城市’, axis=1)

print(df) # 删除 ‘城市’ 列‍

图片

图片

图片

  1. 重命名列

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

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

图片

图片

图片

  1. 设置索引

df = df.set_index(‘名字’)

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

图片

图片

图片

  1. 重置索引

df = df.reset_index()

print(df) # 重置索引‍

图片

图片

图片

  1. 排序

sorted_df = df.sort_values(by=‘年龄’)

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

图片

图片

图片

  1. 分组

grouped_df = df.groupby(‘性别’)

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

图片

图片

图片

  1. 合并

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

df2 = pd.DataFrame(data2)

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

print(merged_df) # 合并两个 DataFrame‍

图片

图片

图片

  1. 插入数据

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

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

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

图片

图片

图片

  1. 删除数据

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

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

图片

图片

图片

  1. 填充缺失值

df[‘年龄’] = df[‘年龄’].fillna(30)

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

图片

图片

图片

  1. 去除重复值

df = df.drop_duplicates()

print(df) # 去除重复行‍

图片

图片

图片

  1. 数据透视表

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

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

图片

图片

图片

  1. 数据转置

transposed_df = df.T

print(transposed_df) # 转置 DataFrame‍

图片

图片

图片

  1. 数据合并(按行)

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

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

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

图片

图片

图片

  1. 数据合并(按列)

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

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

图片

图片

图片

  1. 数据连接(按行)

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

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

图片

图片

图片

  1. 数据连接(按列)

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

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

图片

图片

图片

  1. 数据切片

sliced_df = df[1:3]

print(sliced_df) # 切片 DataFrame‍

图片

图片

图片

  1. 数据迭代

for index, row in df.iterrows():

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

图片

图片

图片

  1. 数据过滤

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

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

图片

图片

图片

  1. 数据替换

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

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

图片

图片

图片

  1. 数据映射

mapping = {‘男’: ‘M’, ‘女’: ‘F’}

df[‘性别’] = df[‘性别’].map(mapping)

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

图片

图片

图片

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

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

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

图片

图片

图片

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

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

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

图片

图片

图片

总结

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曼城周杰伦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值