这似乎相当明显,但我似乎无法弄清楚如何将数据框的索引转换为列?
例如:
df= gi ptt_loc 0 384444683 593 1 384444684 594 2 384444686 596
至,
df= index1 gi ptt_loc 0 0 384444683 593 1 1 384444684 594 2 2 384444686 596
behzad.nouri.. 640
之一:
df['index1'] = df.index
或者.reset_index
:
df.reset_index(level=0, inplace=True)
所以,如果你有一个包含3个索引级别的多索引框架,例如:
>>> df val tick tag obs 2016-02-26 C 2 0.0139 2016-02-27 A 2 0.5577 2016-02-28 C 6 0.0303
并且您希望将索引中的1st(tick
)和3rd(obs
)级别转换为列,您可以这样做:
>>> df.reset_index(level=['tick', 'obs']) tick obs val tag C 2016-02-26 2 0.0139 A 2016-02-27 2 0.5577 C 2016-02-28 6 0.0303
使用`df.reset_index(level = df.index.names,inplace = True)`可以将给定的整个多索引转换为列 (26认同)
请记住,对于您拥有的每个索引,您必须执行n次此操作(例如,如果您有两个索引,那么您必须执行两次) (4认同)
您可以在刚添加到数据框的列上创建索引,以便其为真实列和索引吗? (2认同)
分配给列,例如`df ['index1'] = df.index`会返回警告:“正在尝试从DataFrame的切片副本上设置一个值。” 改为使用df.assign()函数,如下所示。 (2认同)
Apogentus.. 32
对于MultiIndex,您可以使用提取其子索引
df['si_name'] = R.index.get_level_values('si_name')
si_name
whereindex的名称在哪里.