python pandas 将唯一行转换为具有各自数据的新列
python pandas convert unique rows as new columns with their respective data
我有以下形式的一些数据:
Col1 Col2 Col3 Col4
a 2021-12-11 759 46
a 2021-13-11 803 30
b 2021-12-11 46 10
b 2021-13-11 86 7
我想将其转换为以下形式:
Col2 a-Col3 a-Col4 b-col3 b-col4
2021-12-11 759 46 46 10
2021-13-11 803 30 86 7
我已经尝试过 pivot table 和类似的“分组”功能,但我找不到任何解决方案。
您可以使用:
df2 = df.set_index(['Col2', 'Col1']).unstack().swaplevel(axis=1)
df2.columns = df2.columns.map('-'.join)
输出:
>>> df2.reset_index()
Col2 a-Col3 b-Col3 a-Col4 b-Col4
0 2021-12-11 759 46 46 10
1 2021-13-11 803 86 30 7
我有以下形式的一些数据:
Col1 Col2 Col3 Col4
a 2021-12-11 759 46
a 2021-13-11 803 30
b 2021-12-11 46 10
b 2021-13-11 86 7
我想将其转换为以下形式:
Col2 a-Col3 a-Col4 b-col3 b-col4
2021-12-11 759 46 46 10
2021-13-11 803 30 86 7
我已经尝试过 pivot table 和类似的“分组”功能,但我找不到任何解决方案。
您可以使用:
df2 = df.set_index(['Col2', 'Col1']).unstack().swaplevel(axis=1)
df2.columns = df2.columns.map('-'.join)
输出:
>>> df2.reset_index()
Col2 a-Col3 b-Col3 a-Col4 b-Col4
0 2021-12-11 759 46 46 10
1 2021-13-11 803 86 30 7