如何在pandas数据帧上交换索引和值

时间:2017-05-04 11:21:02

标签: python pandas dataframe indexing reindex

我有一些数据,其中索引是一个阈值,两个类0和1的值是trns(真实负率)。

enter image description here

我希望为每个类获取一个数据帧,该数据帧由tnr索引,该阈值对应于该tnr。基本上,我想要这个:

enter image description here

我可以使用以下方法实现此效果:

pd.concat([pd.Series(data[0].index.values, index=data[0]), 
           pd.Series(data[1].index.values, index=data[1])], 
           axis=1)

或者,推广到任意数量的列:

def invert_dataframe(df): 
    return pd.concat([pd.Series(df[col].index.values, 
                     index=df[col]) for col in df.columns], 
                     axis=1)

但是,这似乎非常容易出错并容易出错。有没有更好的方法来做到这一点,是否可能有本地Pandas功能?

1 个答案:

答案 0 :(得分:1)

您可以stack使用pivot

for