Pandas 数据结构 DataFrames

什么是 DataFrame?

Pandas DataFrame(数据帧) 是二维数据结构,如二维数组或具有行和列的表。

实例

创建一个简单的 Pandas DataFrame:

  1. import pandas as pd
  2. data = {
  3. "calories": [420, 380, 390],
  4. "duration": [50, 40, 45]
  5. }
  6. #将 data 加载到 DataFrame 中:
  7. df = pd.DataFrame(data)
  8. print(df)

结果

  1. calories duration
  2. 0 420 50
  3. 1 380 40
  4. 2 390 45

定位行

从上面的结果可以看出,DataFrame 就像一个包含行和列的表。

Pandas 使用 loc 属性返回一个或多个指定行

实例

返回 0 行:

  1. import pandas as pd
  2. data = {
  3. "calories": [420, 380, 390],
  4. "duration": [50, 40, 45]
  5. }
  6. #将 data 加载到 DataFrame 中:
  7. df = pd.DataFrame(data)
  8. print(df.loc[0])

结果

  1. calories 420
  2. duration 50
  3. Name: 0, dtype: int64
备注:这个例子返回一个 Pandas Series。
实例

返回 0 和 1 行:

  1. import pandas as pd
  2. data = {
  3. "calories": [420, 380, 390],
  4. "duration": [50, 40, 45]
  5. }
  6. #将 data 加载到 DataFrame 中:
  7. df = pd.DataFrame(data)
  8. print(df.loc[[0, 1]])

结果

  1. calories duration
  2. 0 420 50
  3. 1 380 40
备注: 当使用 [], 结果就是一个 Pandas DataFrame。

索引命名

使用 index 参数, 你可以给自己的索引命名.

实例

添加名称列表,为每行指定一个名称:

  1. import pandas as pd
  2. data = {
  3. "calories": [420, 380, 390],
  4. "duration": [50, 40, 45]
  5. }
  6. df = pd.DataFrame(data, index = ["day1", "day2", "day3"])
  7. print(df)

结果

  1. calories duration
  2. day1 420 50
  3. day2 380 40
  4. day3 390 45

定位命名索引

使用命名索引中的 loc 属性来返回指定的行(或多行).

实例

返回 “day2”:

  1. import pandas as pd
  2. data = {
  3. "calories": [420, 380, 390],
  4. "duration": [50, 40, 45]
  5. }
  6. df = pd.DataFrame(data, index = ["day1", "day2", "day3"])
  7. print(df.loc["day2"])

结果

  1. calories 380
  2. duration 40
  3. Name: 0, dtype: int64

加载文档到 DataFrame

如果你的数据存在文档中, Pandas 能将其加载到 DataFrame 中。

实例

将 CSV 文件加载到 DataFrame 中:

  1. import pandas as pd
  2. df = pd.read_csv('data.csv')
  3. print(df)

您在下一章节将学习到更多关于载入文档的知识。