我正在设置一个空的 DataFrame,我想稍后填充它。我提供了一个列表作为索引并想给它起一个名字,因为我想稍后将 df 推送到数据库。我知道我可以通过如此准确地解决该任务来更改名称,这df.index.name不是这里的问题。我解决这个问题的直觉是将索引作为字典提供,名称作为键,索引列表作为值。我将提供一个例子来澄清我的困惑:
import pandas as pd
COLS = ['Name','Date']
IDX_ARR = [0,1,3,4,5]
IDX = {'Id':IDX_ARR}
df1 = pd.DataFrame(columns=COLS,
index=IDX_ARR)
df2 = pd.DataFrame(columns=COLS,
index=IDX)
print(df1)
print(df2)
作为回应,我得到:
Name Date
0 NaN NaN
1 NaN NaN
3 NaN NaN
4 NaN NaN
5 NaN NaN
Name Date
Id NaN NaN
虽然df1正确显示了所有索引,但它并没有(显然——因为我没有定义任何东西)显示索引的标题——到目前为止是预期的。查看df2它确实正确显示了索引的标题,但不显示索引。为什么?以及如何去做?
我的预期结果是:
Name Date
Id
0 NaN NaN
1 NaN NaN
3 NaN NaN
4 NaN NaN
5 NaN NaN
PS 再一次,我知道我可以打电话df1.index.name = 'Id',但是有没有办法一口气做到这一点?
沧海一幻觉
相关分类