Pandas 是一个强大的 Python 数据分析库,它提供了快速、灵活且富有表现力的数据结构,特别是 DataFrame 和 Series,使得“关系”或“标记”数据的工作既简单又直观。
DataFrame:是 Pandas 中的一个二维表格型数据结构,可以看作是由 Series 组成的字典,其中每个 Series 都是索引相同的列。
Series:是一维数组,类似于 Python 的列表或 NumPy 的一维数组,但具有更多的功能,如索引。
类型:
应用场景:
假设我们有一个包含销售数据的 DataFrame,如下所示:
import pandas as pd
# 创建示例数据
data = {
'Product': ['A', 'B', 'A', 'C', 'B', 'A'],
'Sales': [100, 200, 150, 300, 250, 200],
'Region': ['North', 'South', 'East', 'West', 'North', 'East']
}
df = pd.DataFrame(data)
现在,我们想要创建一个新的 DataFrame,其中包含每个产品的销售计数和平均销售额。可以使用 Pandas 的 groupby
方法结合聚合函数来实现:
# 使用 groupby 和聚合函数创建新的 DataFrame
new_df = df.groupby('Product').agg({'Sales': ['count', 'mean']}).reset_index()
# 重命名列以便更清晰地理解数据
new_df.columns = ['Product', 'Sales_Count', 'Sales_Avg']
print(new_df)
输出:
Product Sales_Count Sales_Avg
0 A 3 150.0000
1 B 2 225.0000
2 C 1 300.0000
在这个示例中,我们首先使用 groupby
方法按产品对数据进行分组,然后使用 agg
方法计算每个组的销售计数和平均销售额。最后,我们使用 reset_index
方法将结果转换回 DataFrame,并重命名列以便更清晰地理解数据。
问题:在使用 Pandas 进行数据处理时,可能会遇到性能瓶颈,特别是在处理大规模数据集时。
解决方法:
DatetimeIndex
可以提高性能。领取专属 10元无门槛券
手把手带您无忧上云