如何使用groupby函数根据类似的IDS创建行到列

时间:2017-12-27 10:47:05

标签: python pandas

我有

形式的数据
arun 21-09-2017

raja 21-08-2016

arun 21-10-2017

raja 21-01-2017

我希望我的输入转换如下。

arun 21-09-2017 21-01-2017
raja 21-08-2016 21-01-2017

1 个答案:

答案 0 :(得分:0)

假设您正在使用pandas数据帧,则可以使用 groupby 来获取所需的输出。

data = {'name':['arun','raja','arun','raja'],
       'date':['21-09-2017','21-08-2016','21-10-2017','21-01-2017']
       }

df1 = pd.DataFrame(data)

df1.groupby('name')['date'].apply(list).reset_index()

Out[1]:
   name                      date
0  arun  [21-09-2017, 21-10-2017]
1  raja  [21-08-2016, 21-01-2017]