Logo
Section 1 / 27

数据加载与序列属性

学习如何加载数据,并探索 pandas 中 Series 提供的方法和属性。

导入

数据加载与序列属性

学习如何加载数据,并探索 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 对象拥有大量属性和方法的概念。不要被这个数量吓倒。我们不需要记住所有的方法。

简介

运算符与双下划线方法