"one" 数据框中相同列名的连接值
Concat values from same column name in "one" dataframe
我想连接具有相同列的值。
我发现了一些来自不同数据框的解决方案,但不是来自一个数据框。
另外,我尝试将列分离到单个数据框然后连接,但它似乎不起作用,因为列的名称显示不同。 (例如显示“apple”、“banana”、“pizza”、“apple.1”、“banana.1”...)
这样显示有什么解决办法吗?谢谢!
您可以使用 melt
展平您的数据框,然后 pivot
将其重塑为原始形状:
df.columns = df.columns.str.rsplit('.').str[0]
out = df.melt().assign(index=lambda x: x.groupby('variable').cumcount()) \
.pivot_table('value', 'index', 'variable', fill_value=0) \
.rename_axis(index=None, columns=None)[df.columns.unique()]
print(out)
# Output
apple banana pizza
0 1 4 4
1 2 3 7
2 3 2 3
3 5 0 1
4 8 0 5
5 9 0 34
我想连接具有相同列的值。
这样显示有什么解决办法吗?谢谢!
您可以使用 melt
展平您的数据框,然后 pivot
将其重塑为原始形状:
df.columns = df.columns.str.rsplit('.').str[0]
out = df.melt().assign(index=lambda x: x.groupby('variable').cumcount()) \
.pivot_table('value', 'index', 'variable', fill_value=0) \
.rename_axis(index=None, columns=None)[df.columns.unique()]
print(out)
# Output
apple banana pizza
0 1 4 4
1 2 3 7
2 3 2 3
3 5 0 1
4 8 0 5
5 9 0 34