目 录CONTENT

文章目录

pandas常用函数01

Administrator
2024-10-09 / 0 评论 / 1 点赞 / 22 阅读 / 0 字

Pandas 核心概念

在 Pandas 中,主要有两个数据结构:

  1. Series:类似一维数组的对象。

  2. DataFrame:类似二维表格的对象,行和列分别代表索引和字段。

简单来说,你可以把 Series 想象成 Excel 里的一列,而 DataFrame 则是一个完整的 Excel 表格。

Pandas 高频函数详解

1. pd.read_csv()

功能:用于从 CSV 文件中读取数据,生成 DataFrame。

import pandas as pd
df = pd.read_csv('data.csv')
print(df.head())

概念解析read_csv() 是 Pandas 的数据读取神器,支持大多数常见的文件格式如 CSV、TSV 等。默认读取所有列并保留文件中的所有行。

2. df.head()

功能:返回 DataFrame 的前几行,默认是前 5 行。

print(df.head(3))  # 显示前三行

概念解析:适合在数据预览阶段使用,帮你快速查看数据表的内容和结构。

3. df.tail()

功能:返回 DataFrame 的最后几行,默认是最后 5 行。

print(df.tail(3))  # 显示最后三行

概念解析:与 head() 功能相似,但查看的是末尾部分,尤其适用于大数据集的处理。

4. df.info()

功能:显示 DataFrame 的基本信息,包括列名、数据类型、缺失值等。

print(df.info())

概念解析:这是检查数据质量的好工具,能够一目了然看到是否有缺失值和列类型。

5. df.describe()

功能:对数值列进行基本的统计描述,如均值、标准差、最小值等。

print(df.describe())

概念解析:快速获得数值型数据的统计信息,是数据探索的第一步。

6. df.drop()

功能:删除 DataFrame 中的行或列。

df_dropped = df.drop(columns=['column_name'])

概念解析:用于数据清理,特别是当你想删除无用或噪声数据时。

7. df.isnull()

功能:判断 DataFrame 中的缺失值情况,返回布尔类型 DataFrame。

print(df.isnull().sum())  # 统计每列缺失值数量

概念解析:帮助你快速找到缺失值,为后续数据清洗提供依据。

8. df.fillna()

功能:填充缺失值。

df_filled = df.fillna(0)  # 用0填充所有缺失值

概念解析:处理缺失数据的利器,能够让你的数据更加完整。

9. df.groupby()

功能:对数据进行分组操作,常用于统计汇总。

grouped = df.groupby('column_name').sum()  # 按列分组求和

概念解析:类似 SQL 的 GROUP BY 操作,常用于数据的聚合统计分析。

10. df.sort_values()

功能:对 DataFrame 按照某一列或多列进行排序。

df_sorted = df.sort_values(by='column_name', ascending=False)

概念解析:快速排序,适合在数据筛选、数据展示时使用。

11. df.apply()

功能:对 DataFrame 中的每个元素或行/列应用一个函数。

df['new_column'] = df['old_column'].apply(lambda x: x**2)

概念解析apply() 是 Pandas 的“瑞士军刀”,用于灵活的数据转换和处理。

12. df.merge()

功能:合并两个 DataFrame,类似 SQL 中的 JOIN

merged_df = pd.merge(df1, df2, on='key_column')

概念解析:数据合并的利器,尤其适合处理多表关联的数据。

13. df.pivot_table()

功能:创建数据透视表。

pivot = df.pivot_table(index='column1', values='column2', aggfunc='sum')

概念解析:类似 Excel 里的数据透视表功能,适合用于复杂的数据汇总分析。

14. df.loc[]

功能:通过标签索引选取行或列。

subset = df.loc[df['age'] > 30]

概念解析:使用标签索引选取特定行或列数据,灵活且常用。

15. df.iloc[]

功能:通过位置索引选取行或列。

subset = df.iloc[0:3, :]

概念解析:与 loc 类似,但 iloc 是通过数字位置索引,特别适合需要按位置选取数据的场景。

16. df.rename()

功能:重命名 DataFrame 的列名。

df_renamed = df.rename(columns={'old_name': 'new_name'})

概念解析:当你需要修改列名,使之更具可读性或语义时,rename() 是必备函数。

17. df.duplicated()

功能:查找重复的行。

duplicates = df[df.duplicated()]

概念解析:用于查找数据中的重复项,是数据清洗过程的重要一步。

18. df.drop_duplicates()

功能:删除重复行。

df_cleaned = df.drop_duplicates()

概念解析:删除重复数据,保证数据的唯一性和准确性。

19. pd.concat()

功能:沿某一轴拼接多个 DataFrame。

df_combined = pd.concat([df1, df2], axis=0)  # 纵向拼接

概念解析:适合将多张表数据整合到一起处理,是数据处理的基础工具。

20. df.to_csv()

功能:将 DataFrame 保存为 CSV 文件。

df.to_csv('output.csv', index=False)

概念解析:当你需要将处理好的数据导出保存时,to_csv() 是最常用的导出方法。


案例演示:数据处理流程

我们将这些函数串联起来,演示一个从数据读取到清洗、分析、导出的完整流程:

import pandas as pd

# 读取数据
df = pd.read_csv('data.csv')

# 查看基本信息
print(df.info())

# 数据清洗:删除缺失值、处理重复数据
df_cleaned = df.dropna().drop_duplicates()

# 数据分析:按类别汇总并排序
category_sum = df_cleaned.groupby('category').sum().sort_values(by='value', ascending=False)
category_sum = df_cleaned.groupby('category').sum().sort_values(by='value', ascending=False)

# 导出结果
category_sum.to_csv('cleaned_data.csv', index=True)
category_sum.to_csv('cleaned_data.csv', index=True)

print("数据处理完成,结果已导出!")

1
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区