gpt4 book ai didi

python - 重新设计 Pandas 中的数据框

转载 作者:太空宇宙 更新时间:2023-11-04 00:41:35 25 4
gpt4 key购买 nike

我有一个包含两列的 pandas 数据框:itemvaluevalue 列的值为元组列表,其中第一个元素是字段,第二个元素是计数。

**item  value**
item1
item2
item3 [('f1', 10L), ('f3', 5L)]
item4 [('f4', 2L)]
item5 [('f5', 1L)]

我需要按以下形式扩展/重新设计数据框。

**item  f1  f3  f4  f5**
item1
item2
item3 10 5
item4 2
item5 1

pandas 中是否有可以快速完成此操作的函数?

最佳答案

因为你有混合类型的列表和不可迭代的 np.nan,你可以做一个类型检查,如果值是一个列表元组然后在转换后调用 pd.Series一个字典,否则构造一个空的 Series 对象:

import numpy as np
import pandas as pd
lst = [np.nan, np.nan,
[('f1', 10), ('f3', 5)],
[('f4', 2)],
[('f5', 1)]]

df = pd.DataFrame({"item": ["item"+str(i) for i in range(1,6)], "value": let})

pd.concat([df.item, df['value'].apply(lambda x: pd.Series(dict(x)) if type(x) == list else pd.Series([]))], axis = 1)

enter image description here

关于python - 重新设计 Pandas 中的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41710621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com