0

我有以下聚合:

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": {...}}
4

1 回答 1

1

而不是 tolist() 我不得不把 sum()

'md5s': x['md5s'].sum()

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

于 2019-02-21T09:15:23.173 回答