1分钟了解pandas

Pandas 是一个强大的 Python 库,用于数据分析和数据处理。它为 Python 提供了高效的数据结构和数据分析工具,使得数据操作变得简单而直观。Pandas 由 Wes McKinney 在 2008 年创建,并迅速成为数据科学领域中最受欢迎的库之一。

安装 Pandas

在开始使用 Pandas 之前,需要先安装它。如果你已经安装了 Anaconda 或其他科学计算环境,那么 Pandas 可能已经包含在里面。如果没有,可以通过 pip 安装:

pip install pandas

导入 Pandas

在 Python 脚本或交互式环境中导入 Pandas:

import pandas as pd

数据结构

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

Series

Series 是一种一维数组,可以容纳任何数据类型(整数、字符串、浮点数等)。Series 类似于 NumPy 的一维数组,但提供了更多功能,如标签索引。

创建 Series 示例:

import pandas as pd

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

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

DataFrame 是一个二维表格型数据结构,它可以存储不同类型的数据。DataFrame 类似于 Excel 表格,每一列都可以是不同的值类型。DataFrame 由多个 Series 组成。

创建 DataFrame 示例:

import pandas as pd

# 使用字典创建 DataFrame
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],
        'Age': [20, 21, 19, 20]}
df = pd.DataFrame(data)
print(df)

# 指定索引
df = pd.DataFrame(data, index=['r1', 'r2', 'r3', 'r4'])
print(df)

基本操作

查看数据
  • head(): 显示前几行数据,默认为 5 行。
  • tail(): 显示最后几行数据,默认为 5 行。
  • info(): 显示 DataFrame 的摘要信息。
  • describe(): 显示数值型列的统计信息。

示例:

print(df.head())
print(df.tail())
print(df.info())
print(df.describe())
选择数据
  • loc[]: 通过标签来获取数据。
  • iloc[]: 通过位置来获取数据。

示例:

print(df.loc['r1'])
print(df.iloc[1])
print(df.loc[:, 'Name'])
print(df.iloc[:, 1])
过滤数据
  • 使用布尔条件过滤数据。

示例:

print(df[df['Age'] > 20])
分组数据
  • 使用 groupby() 对数据进行分组并应用聚合函数。

示例:

print(df.groupby('Name').mean())
合并数据
  • concat(): 沿着一个轴连接 Series 或 DataFrame 对象。
  • merge(): 根据一个或多个键将 DataFrame 对象合并在一起。
  • join(): 将多个 DataFrame 沿着一个轴堆叠起来。

示例:

df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'],
                    'value': np.random.randn(4)})
df2 = pd.DataFrame({'key': ['B', 'D', 'D', 'E'],
                    'value': np.random.randn(4)})

result = pd.concat([df1, df2], ignore_index=True)
print(result)

result = pd.merge(df1, df2, on='key')
print(result)

缺失数据

Pandas 支持缺失数据,并提供了一些工具来处理缺失值。

示例:

df = pd.DataFrame(np.random.randn(5, 3), columns=list('ABC'))
df.iloc[1, 1] = np.nan
df.iloc[2, 2] = np.nan
print(df)
print(df.dropna())  # 删除含有缺失值的行
print(df.fillna(value=0))  # 用 0 填充缺失值

时间序列

Pandas 有一个强大的时间序列功能集。

示例:

dates = pd.date_range('20230101', periods=6)
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))
print(df)

结论

Pandas 是 Python 中一个非常重要的库,用于数据处理和分析。它提供了丰富的数据结构和数据操作方法,能够高效地处理各种数据格式和大小。无论是对于数据科学家还是研究人员来说,掌握 Pandas 都是非常有用的技能。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

知识的宝藏

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

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

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

打赏作者

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

抵扣说明:

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

余额充值