熊猫里的LISTAGG相当于什么?

时间:2019-02-20 16:12:11

标签: python python-3.x pandas pandas-groupby pandasql

我有以下汇总:

def my_agg(x):
    names = {
        'first_seen': x['first_seen'].min(),
        'last_seen': x['last_seen'].max(),
        'md5s': x['md5s'].tolist(),
    }
    return pd.Series(names, index=['first_seen', 'last_seen', 'md5s'])

但是在我的结果中,我有类似的内容,但是我想要所有md5的并集

  "md5s": [["md5_1", "md5_2"], ["md5_3"], ["md5_4", "md5_5"]]

我应该使用什么功能代替tolist()?

这些是我的DataFrame和GroupBy:

df = pd.DataFrame.from_dict(some_data, orient='index')
gr = df.groupby(level=0, axis=0).apply(my_agg)

some_data具有以下格式:

{"foo": {"first_seen": "2019-02-15", "last_seen":"2019-02-20",
         "md5s": ["md5_1", "md5_2", ...]},
 "bar": {...}}

1 个答案:

答案 0 :(得分:0)

我不得不放入sum()而不是tolist()

for row in u:
    a = np.sum(row)
    print ("sum=", a)

这有点令人困惑,因为当您考虑总和时,您会考虑添加不加入列表的数字。但这有效!