我正在尝试将熊猫数据框中的相似列表合并到一行中。我有以下代码:
import pandas as pd
df = pd.DataFrame( {'A' : [1,1,2,2], 'B' : [["a","b"],["c","d"],["e","f"],
["g","h"]]})
df2 = df.groupby(['A'], as_index=False).agg(list)
print(df2)这将产生以下输出:
A B
0 1 [[a, b], [c, d]]
1 2 [[e, f], [g, h]]这将在输出中生成一个列表列表,这并不是我想要的。
有没有一种简单的方法来分组和聚合列表,这样我就可以在B列中得到一个很长的列表,这样我就可以得到一个数据帧,比如下面的示例?
A B
0 1 [a, b, c, d]
1 2 [e, f, g, h]注意:如果B列中的最终列表包含dupe,这并不重要。它们可以去重,也可以保留,无论哪种方式都能达到我的目的。
发布于 2019-08-07 05:20:21
sum怎么样?
df.groupby('A', as_index=False).agg(sum)输出:
A B
0 1 [a, b, c, d]
1 2 [e, f, g, h]https://stackoverflow.com/questions/57384131
复制相似问题