【发布时间】:2014-08-21 01:36:07
【问题描述】:
我有一个数据框:
df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar','foo', 'bar', 'foo', 'foo'],
'C' : np.asarray([1,2,3,4,5,6,7,8])
'D' : np.asarray([2,3,4,5,6,7,8,9])})
A C D
0 foo 1 2
1 bar 2 3
2 foo 3 4
3 bar 4 5
4 foo 5 6
5 bar 6 7
6 foo 7 8
7 foo 8 9
我想要的是
A C D
0 foo [1,3,5,7,8] [2,4,6,8,9]
1 bar [2,4,6] [3,5,7]
我自己写了一些东西,但它不起作用。它给了我原来的DataFrame:
def my_func(df):
df.apply(lambda x: list(x.values), axis=0)
return df
df = df.groupby(['A']).apply(my_func)
print df
如何实现我想要的功能?
【问题讨论】: