Python酷库之旅-第三方库Pandas

Pandas 是一个强大的数据处理和分析库,它为 Python 提供了灵活的数据结构和丰富的数据操作功能。无论是进行数据清洗、数据转换、数据分析还是数据可视化,Pandas 都能胜任,并且它常常与 NumPy 和 Matplotlib 等库一起使用,成为数据科学和数据分析的基础工具之一。

Pandas 的核心数据结构

Pandas 主要提供两种核心数据结构:Series 和 DataFrame。

  1. Series:一维数组,类似于 Python 的列表或 NumPy 的一维数组,可以存储任意数据类型,且具有索引(index)。
  2. DataFrame:二维表格数据结构,可以看作是多个 Series 的组合,既可以存储不同类型的数据,又便于在表格中进行各种操作。

安装与导入

在使用 Pandas 之前,需要先确保已安装该库。可以通过以下命令进行安装:

pip install pandas

安装完成后,通过以下代码导入 Pandas:

import pandas as pd

创建数据结构

创建 Series

可以使用列表、字典等多种方式创建 Series:

# 从列表创建Series
data = [1, 2, 3, 4, 5]
s = pd.Series(data)
print(s)

# 从字典创建Series
data_dict = {'a': 1, 'b': 2, 'c': 3}
s_dict = pd.Series(data_dict)
print(s_dict)

创建 DataFrame

DataFrame 则可以使用字典、列表、NumPy 数组等多种方式创建:

# 从字典创建DataFrame
data = {
    '姓名': ['张三', '李四', '王五'],
    '年龄': [23, 24, 22],
    '成绩': [85, 90, 95]
}
df = pd.DataFrame(data)
print(df)

# 从列表创建DataFrame
data_list = [
    ['张三', 23, 85],
    ['李四', 24, 90],
    ['王五', 22, 95]
]
df_from_list = pd.DataFrame(data_list, columns=['姓名', '年龄', '成绩'])
print(df_from_list)

数据操作

Pandas 提供了丰富的数据操作功能,包括选择、过滤、排序、分组等。

选择数据

可以通过列名或索引选择数据:

# 选择一列
print(df['姓名'])

# 选择多列
print(df[['姓名', '成绩']])

过滤数据

可以通过条件进行数据过滤:

# 过滤年龄大于23的人
filtered_df = df[df['年龄'] > 23]
print(filtered_df)

排序数据

可以根据某一列进行排序:

# 按成绩排序
sorted_df = df.sort_values(by='成绩', ascending=False)
print(sorted_df)

分组和聚合

Pandas 可以轻松地进行数据分组和聚合操作:

# 按年龄分组并计算成绩的平均值
grouped = df.groupby('年龄')['成绩'].mean()
print(grouped)

数据清洗

在实际应用中,数据往往需要清洗和处理。Pandas 也提供了一些方法来处理缺失值、重复数据等问题。

处理缺失值

# 创建包含缺失值的DataFrame
data_with_nan = {
    '姓名': ['张三', '李四', None],
    '年龄': [23, None, 22],
    '成绩': [85, 90, None]
}
df_nan = pd.DataFrame(data_with_nan)

# 填充缺失值
df_filled = df_nan.fillna({'姓名': '未知', '年龄': df_nan['年龄'].mean(), '成绩': df_nan['成绩'].mean()})
print(df_filled)

# 删除缺失值
df_dropped = df_nan.dropna()
print(df_dropped)

总结

Pandas 是一个非常强大的数据处理库,通过简单的语法和丰富的功能,能够帮助我们高效地处理和分析数据。无论是初学者还是数据科学家,都可以利用 Pandas 提供的强大工具来简化数据处理的工作流程。通过上面的示例,你可以开始在自己的项目中应用 Pandas 进行数据分析和处理。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部