2024-04-28 04:44:38 发布
网友
我有一个熊猫数据帧,格式如下
ID Name 0 1 Jim 1 1 Jimmy 2 2 Mark 3 2 Marko 4 3 Sergi 4 3 Sergi
我想用以下格式重塑数据帧
ID Name_1 Name_2 0 1 Jim Jimmy 1 2 Mark Marko 2 3 Sergi Sergi
这样我就可以比较这两个名字了。我无法使用pd.pivot或pd.pivottable满足此要求。 应该很简单。拜托,你能建议怎么做吗?你知道吗
pd.pivot
pd.pivottable
可以将^{}与^{}、last^{}一起用于列名:
df['groups'] = df.groupby('ID').cumcount() + 1 df = df.pivot(index='ID', columns='groups', values='Name').add_prefix('Name_') print (df) groups Name_1 Name_2 ID 1 Jim Jimmy 2 Mark Marko 3 Sergi Sergi
另一个解决方案是^{}和^{},最后^{}到列名:
df1 = df.groupby('ID')["Name"] \ .apply(lambda x: pd.Series(x.values)) \ .unstack(1) \ .rename(columns=lambda x: x+1) \ .add_prefix('Name_') print (df1) Name_1 Name_2 ID 1 Jim Jimmy 2 Mark Marko 3 Sergi Sergi
可以将^{} 与^{} 、last^{} 一起用于列名:
另一个解决方案是^{} 和^{} ,最后^{} 到列名:
相关问题 更多 >
编程相关推荐