如何合并相似的行并按值将列拆分为行?

问题描述 投票:0回答:1

例如,我有此数据集:

   Name  Number Is true
0  Dani       2     yes
1  Dani       2      no
2  Jack       5      no
3  Jack       5   maybe
4  Dani       2   maybe

我想创建一个新的数据集,该数据集将相似的行组合在一起,并按列的不同值添加列。这是我想要获得的输出:

   Name  Number Is true1 Is true2 Is true3
0  Dani       2      yes       no    maybe
1  Jack       5       no    maybe  

我在这里的示例10中无法正常工作:How to pivot a dataframe

您能否提供此用例的特定示例?

谢谢。

pandas dataframe
1个回答
0
投票

您可以尝试以下方法:

df2 = df.drop_duplicates(subset=['Name', 'Number Is'])
df2 = df2.reset_index(drop=True).assign(true= df.groupby('Number Is')['true'].agg(list).reset_index(drop=True) )
temp = df2['true'].apply(pd.Series).T 
temp.index = temp.index+1
temp = temp.T
df2 = df2.assign(**temp.add_prefix('true').add_suffix(' Is')).drop(columns='true').fillna('')  

输出:

   Name  Number Is true1 Is true2 Is true3 Is
0  Dani          2      yes       no    maybe
1  Jack          5       no    maybe      
© www.soinside.com 2019 - 2024. All rights reserved.