我希望能够像这样的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的回答,我能够找到解决方案
答案 0 :(得分:0)
这个怎么样?
c = pd.Dataframe(columns = s.columns)
for column in s.columns:
c.set_value(0, column, list(s[column]))