数据加载与序列属性
学习如何加载数据,并探索 pandas 中 Series 提供的方法和属性。
有很多操作可以对 Series 进行。我们将从美国燃油经济性网站获取数据。该网站提供了自1984年以来在美国销售的汽车品牌和型号的燃油效率数据。
加载数据
pandas 的一个优点是 read_csv 函数不仅支持 URL,还支持包含单个 .csv 文件的 zip 压缩包。
如果 zip 文件中包含多个文件,我们需要先解压才能提取所需文件。
我们即将研究的数据集前几列是 city08 和 highway08,分别表示每辆车在城市道路和高速公路行驶时的每加仑英里数(MPG):
1import pandas as pd 2 3url = 'https://github.com/mattharrison/datasets/raw/master/data/vehicles.csv.zip' 4df = pd.read_csv(url) 5city_mpg = df.city08 6highway_mpg = df.highway08
让我们看一下数据:
1print(city_mpg)
1print(highway_mpg)
看起来每个 Series 都有大约 40,000 个整数条目。由于这些 Series 的类型是 int64,我们可以确定其中没有缺失值。
Series 属性
pandas 库提供了大量功能。内置的 dir 函数可以列出对象的所有属性。让我们看看一个 Series 有多少属性:
1print(len(dir(city_mpg)))
哇!一个 Series 有超过 400 个属性。相比之下,Python 列表或字典只有约 40 个属性。不要担心;我们不需要记住所有这些属性。
这些属性提供了哪些功能?它们可以按方法返回的结果大致分类如下:
-
双下划线方法(如
__add__、__iter__等)支持多种数值运算,以及循环、属性访问和索引访问。对于数值运算,这些方法返回新的 Series。 -
许多数值运算对应的操作方法允许我们调整行为(除了
__add__,还有add方法)。 -
聚合方法和属性将 Series 中的值缩减为单一标量值。例如
mean、max、sum方法以及is_monotonic属性。 -
转换方法以
to_开头,用于将数据导出到其他格式。 -
操作方法如
sort_values和drop_duplicates返回具有相同索引的新 Series。 -
索引和访问方法及属性(如
loc和iloc)返回 Series 或标量。 -
字符串操作方法使用
str。 -
日期操作方法使用
dt。 -
绘图方法使用
plot。 -
分类操作方法使用
cat。 -
还有许多转换方法,如
unstack、reset_index、agg和transform。 -
一些属性如
index和dtype。 -
此外还有约 130 个私有属性,我们暂时忽略它们。
我们在接下来的课程中会详细介绍其中许多内容。
总结
我们介绍了 pandas 对象拥有大量属性和方法的概念。不要被这个数量吓倒。我们不需要记住所有的方法。