gpt4 book ai didi

python - Pandas 重新索引数据框问题

转载 作者:太空宇宙 更新时间:2023-11-03 12:13:44 25 4
gpt4 key购买 nike

假设我有以下数据框,

         A       B
0 1986-87 232131
1 1987-88 564564
2 1988-89 123125
...

等等。

我正在尝试使用 <myFrame>.set_index('A') 重新编制索引,以便我得到

                B
1986-87 232131
1987-88 564564
1988-89 123125

但我一直得到这个:

               B
A
1986-87 232131
1987-88 564564
1988-89 123125

这很烦人,因为我尝试了其他重建索引的方法。我不确定 A 实际上代表什么,因为它没有出现在 <myFrame>.columns<myFrame>.index 中,做 <myFrame>['B'][0] 给了我 232131 ,那么这个重新索引的数据框中的 A 是什么,我如何从头开始正确索引或摆脱这个奇怪的 A 在不正确的 reindex 数据框中。

最佳答案

您需要重置索引的名称/名称属性:

df.index.names = [None]

例子:

In [11]: df = pd.DataFrame([[1, 2], [3, 4]], columns=['A', 'B']).set_index('A')

In [12]: df
Out[12]:
B
A
1 2
3 4

In [13]: df.index.names = [None]

In [14]: df
Out[14]:
B
1 2
3 4

名称描述了索引,并为索引赋予了一些含义,还区分了索引中的不同级别(在 MultiIndex 中)。

正如@DSM 指出的那样,这样做后果自负,如果您想重置索引,这会丢失信息:

In [15]: df.reset_index() # col_fill=['A', 'B'])
Out[15]:
index B
0 1 2
1 3 4

但是,您可以手动 col_fill 名称:

In [16]: df.reset_index(col_fill=['A'])
Out[16]:
A B
0 1 2
1 3 4

关于python - Pandas 重新索引数据框问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20037966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com