📅  最后修改于: 2023-12-03 15:14:40.704000             🧑  作者: Mango
在 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 + 1
和 df = df.reset_index(drop=True)
。
set_index
和 RangeIndex
函数另一种方法是使用 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
总结:
reset_index
函数或 set_index
函数实现。reset_index
函数需要首先将 DataFrame 的索引加 1,然后使用 reset_index
函数。set_index
函数需要使用 RangeIndex
函数创建新的整数索引,然后使用 set_index
函数将新索引赋值给 DataFrame。