首页 > 解决方案 > 如何将单列的多个数据转换为pandas中的单行多列

问题描述

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

在此处输入图像描述

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

在此处输入图像描述

标签: pandas

解决方案


代码:

#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


推荐阅读