📜  df 索引从 1 开始 - Python (1)

📅  最后修改于: 2023-12-03 15:14:40.704000             🧑  作者: Mango

以'df 索引从 1 开始 - Python

在 Pandas 中,默认的索引都是从 0 开始的。但是,在实际情况中,数据的索引往往是从 1 开始,为了更好地与实际情况相符合,我们需要为 DataFrame 指定以 1 开始的索引。本文将介绍如何使用 Python 实现以 1 开始的索引。

方法一:使用 reset_index 函数

我们可以使用 reset_index 函数,将默认索引重置为以 1 开始的整数索引。首先,读取数据并输出前几行:

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'Age': [25, 30, 35, 40], 'City': ['New York', 'Paris', 'London', 'Beijing']}

df = pd.DataFrame(data)
print(df.head())
       Name  Age      City
0     Alice   25  New York
1       Bob   30     Paris
2   Charlie   35    London
3     David   40   Beijing

现在,我们使用 reset_index 函数:

df.index = df.index + 1
df = df.reset_index(drop=True)
print(df.head())
       Name  Age      City
1     Alice   25  New York
2       Bob   30     Paris
3   Charlie   35    London
4     David   40   Beijing

我们使用 df.index = df.index + 1 将索引加 1,这样 DataFrame 的索引就从 1 开始了。然后,我们使用 reset_index 函数将索引重新设置为整数索引,并使用 drop=True 参数删除原来的索引。

在这个例子中,我们使用了两个语句完成了以 1 开始的索引:df.index = df.index + 1df = df.reset_index(drop=True)

方法二:使用 set_indexRangeIndex 函数

另一种方法是使用 set_index 函数和 RangeIndex 函数。首先,我们需要通过 RangeIndex 函数创建以 1 开始的整数索引:

index = pd.RangeIndex(start=1, stop=len(df)+1)

然后,我们使用 set_index 函数将 index 作为 DataFrame 的新索引:

df = df.set_index(index)

最后,我们可以输出 DataFrame:

print(df)
       Name  Age      City
1     Alice   25  New York
2       Bob   30     Paris
3   Charlie   35    London
4     David   40   Beijing

总结:

  • 以 1 开始的索引需要通过 reset_index 函数或 set_index 函数实现。
  • reset_index 函数需要首先将 DataFrame 的索引加 1,然后使用 reset_index 函数。
  • set_index 函数需要使用 RangeIndex 函数创建新的整数索引,然后使用 set_index 函数将新索引赋值给 DataFrame。