pandas Python:如何对一列中字典列表的值求和

niwlg2el  于 2023-01-24  发布在  Python
关注(0)|答案(1)|浏览(187)

我有一个这样的DataFrame:

timestamp                                asks
2022-01-01 00:00:00                 [{'price':'0.99', 'size':'12311'},{'price':'0.991', 'size':'20013'}]
2022-01-01 01:00:00                 [{'price':'0.99', 'size':'3122'},{'price':'0.991', 'size':'43221'}]
...

我想要做的是将每个timestampsize值相加,得到以下DataFrame:

timestamp                 asks
2022-01-01 00:00:00       32324
2022-01-01 01:00:00       46343
...

12311+20013= 32324
怎样才能做到这一点(最好是用Pandas)?

5n0oy7gb

5n0oy7gb1#

df["asks"] = df["asks"].explode().str["size"].astype(int).groupby(level=0).sum()
  • 在单独的行中获取每个字典
  • 获取它们中每一个的“size”键值
  • 由于ducktyping,.str[...]可以在任何支持__getitem__的对象上工作,而字典可以
  • 转换为整数并取消分解

得到

>>> df

             timestamp   asks
0  2022-01-01 00:00:00  32324
1  2022-01-01 01:00:00  46343

相关问题