如何在pandas中将单列的多个数据转换为单行多列

时间:2021-08-01 18:20:18

标签: pandas

我有一个包含 2 列的数据框,A 列中有多个重复项,而 b 列中有它们各自的值(不重复)。

enter image description here

我想按照所附图片将此数据框转换为所需的格式-

enter image description here

1 个答案:

答案 0 :(得分:0)

代码:

#Sample data:
x = [['a', 'v1'],['a', 'v2'], ['b', 'v10'],['b', 'v20'],['c', 'v10']]

import pandas as pd
df = pd.DataFrame(x, columns=['category', 'data'])
print(df)
print('------')
df2 = df.groupby('category')['data'].apply(list)
print(df2)

输出:

  category data
0        a   v1
1        a   v2
2        b  v10
3        b  v20
4        c  v10
-----------
category
a      [v1, v2]
b    [v10, v20]
c         [v10]
Name: data, dtype: object