繁体   English   中英

将 pandas dataframe 从列重塑为唯一索引

[英]Reshape pandas dataframe from column to unique index

我正在尝试重塑我的 dataframe,我希望Person成为索引,但是我如何使它成为唯一的索引? 我不知道要在我的索引中重复。

df = pd.DataFrame({'Person':['Paul','Paul','Paul','John','John','Mia'],'Score':[24,23,54,64,89,56],'Type':['A','C','F','A','G','X'],'Number':[1,2,3,1,2,1]})

df.set_index('Person',inplace = True)

所需的 output:

在此处输入图像描述

如果您只想从索引中删除重复值,请使用:

df = df.set_index('Person')
df.index = np.where(df.index.duplicated(), '', df.index) 

您可以创建一个MultiIndex ,将先前的数字索引保持为第二级:

df.set_index(['Person', df.index], inplace=True)
df
            Score   Type    Number
Person              
Paul    0   24      A       1
        1   23      C       2
        2   54      F       3
John    3   64      A       1
        4   89      G       2
Mia     5   56      X       1

我认为这是最接近所需 output 的值,因为根据定义,dataframe 的每一行都必须有一个索引值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM