追加列表中的所有列 - pandas

时间:2016-08-03 02:12:58

标签: python pandas dataframe

我希望能够像这样的pandas Dataframe:

s = pd.Series([0,1,2,4])
pd.get_dummies(s)
Out[1]: 
     0    1    2    4
0  1.0  0.0  0.0  0.0
1  0.0  1.0  0.0  0.0
2  0.0  0.0  1.0  0.0
3  0.0  0.0  0.0  1.0

得到这样一个

              0             1             2             3
0  [1, 0, 0, 0]  [0, 1, 0, 0]  [0, 0, 1, 0]  [0, 0, 0, 1]

我想过这样的事情,但它不起作用

df.apply(lambda y: list(y))

有什么想法吗?

谢谢。

编辑: Vinay87回答工作,但这不是我的问题。

我因缺乏知识而有偏见,虽然很好地简化了问题。 我想要做的是在数据帧上应用groupby时聚合每个组。 我知道只接近以下

df.groupby("device_id").apply(function to turn dataframe in a dataframe with list)

由于这个problem和user2623954的回答,我能够找到解决方案

1 个答案:

答案 0 :(得分:0)

这个怎么样?

c = pd.Dataframe(columns = s.columns)
for column in s.columns: 
    c.set_value(0, column, list(s[column]))