首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Pandas,数据处理与分析的得力助手!

Pandas是 Python 数据分析中的顶梁柱,简直就是 Excel 的代码版。它帮我们轻松搞定表格型数据:无论是数据清洗、处理,还是分析,都能得心应手。你可以把它想象成一个超强的工具箱,里面装满了处理数据的“十八般武艺”。今天咱们就来看看 Pandas 怎么用,能干点啥。

1、安装 Pandas 和基本概念

用 Pandas 之前,先得装上这个库。直接用 pip 玩命敲下去:

pip install pandas

装完后,咱们来认识两个 Pandas 的核心概念:SeriesDataFrame。简单讲,Series 是带索引的一维数据,DataFrame 是由多个 Series 组成的二维数据,也就是表格。

先来个简单例子,创建一个 Series 和一个 DataFrame:

import pandas as pd

# 创建一个 Series

s = pd.Series([10, 20, 30], index=["a", "b", "c"])

# 创建一个 DataFrame

data = {

  "Name": ["Alice", "Bob", "Charlie"],

  "Age": [25, 30, 35],

  "Score": [90, 85, 88],

}

df = pd.DataFrame(data)

print(s)

print(df)

运行结果

a    10

b    20

c    30

dtype: int64

    Name  Age  Score

0    Alice   25     90

1      Bob   30     85

2  Charlie   35     88

温馨提示:DataFrame 的列就像 Excel 的列头,Series 比较像一列数据。两者配合使用,功能满分。

2、读写数据文件

Pandas 的拿手好戏之一就是读写文件。不管是 CSV、Excel,还是数据库里的数据,都能轻松搞定。以下是读写 CSV 文件的简单示例:

读取 CSV 文件

df = pd.read_csv("data.csv")

print(df.head())  # 查看前 5 行写入 CSV 文件

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

温馨提示:index=False是为了不把 DataFrame 的索引写进文件里,避免生成多余的一列。

3、常见数据操作

下面是一些 Pandas 最常用的操作,直接上代码。

查看数据

print(df.head(3))  # 查看前 3 行

print(df.tail(2))  # 查看后 2 行

print(df.info())   # 数据结构信息

print(df.describe())  # 数据统计信息选择列和行

# 选择列

print(df["Name"])

# 选择行

print(df.iloc[1])  # 按行号选

print(df.loc[0])   # 按索引选筛选数据

# 筛选 Age > 25 的数据

filtered = df[df["Age"] > 25]

print(filtered)

运行结果:筛选出年龄大于 25 的人。

4、数据清洗

Pandas 还特别擅长清洗数据,处理那些让人头疼的缺失值、重复值之类的。

处理缺失值

df = pd.DataFrame({

  "Name": ["Alice", "Bob", None],

  "Age": [25, None, 35],

  "Score": [90, 85, None],

})

# 填充缺失值

df["Age"] = df["Age"].fillna(30)  # 用 30 填充缺失值

# 删除含有缺失值的行

df = df.dropna()

print(df)处理重复值

df = pd.DataFrame({

  "Name": ["Alice", "Bob", "Bob"],

  "Age": [25, 30, 30],

})

# 去重

df = df.drop_duplicates()

print(df)

温馨提示:fillna和dropna是 Pandas 的两大救命神器,遇到缺失值别慌,它们保你平安。

5、数据分析与统计

Pandas 还能帮你快速做一些统计分析,比如求平均数、最大值之类的。

基本统计操作

print(df["Age"].mean())  # 平均值

print(df["Score"].max())  # 最大值

print(df["Age"].value_counts())  # 统计每个值出现的次数分组统计

# 按 Name 分组,计算平均分

grouped = df.groupby("Name")["Score"].mean()

print(grouped)6、数据可视化

虽然 Pandas 不是专门的可视化工具,但它能跟 Matplotlib 搭配,画些简单的图表。

import matplotlib.pyplot as plt

df["Age"].plot(kind="bar")  # 柱状图

plt.show()7、使用列表推导式和 lambda 函数

有时候需要在 DataFrame 里新增一列,Pandas 支持用lambda函数列表推导式轻松搞定。

新增一列

df["AgeGroup"] = df["Age"].apply(lambda x: "Young" if x < 30 else "Old")

print(df)

运行结果:新增了一列AgeGroup,标记每个人是年轻还是年长。

8、常见错误和注意事项

索引问题:iloc是按行号索引,loc是按索引值索引,别搞混了。

缺失值处理:fillna和dropna是经常用的,记住它们的语法。

链式操作问题:有时候你连续操作多步,可能会丢掉中间的修改。用inplace=True或者分步操作能避免问题。

总结

Pandas 是数据分析的好帮手,功能强大,操作简单。无论是读取数据、清洗数据,还是分析数据,Pandas 都可以轻松搞定。熟练掌握它,你的代码效率会飞速提升!

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OYTQ72Mx62AIJqmM3PjTAllA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券