gpt4 book ai didi

python - 如何迭代数据框以将字典解压到新的数据框中

转载 作者:行者123 更新时间:2023-11-28 16:57:22 25 4
gpt4 key购买 nike

我想解压一个数据框,其中包含嵌套在每列字典中的可变数量的“productID”。示例表:

awardedProducts
0 []
1 [{'productID': 14306}]
2 []
3 []
4 []
5 []
6 []
7 [{'productID': 60974}, {'productID': 72961}]
8 [{'productID': 78818}, {'productID': 86765}]
9 [{'productID': 155707}]
10 [{'productID': 54405}, {'productID': 69562}, {...

我试过用

遍历 df
df = []
for row, index in activeTitles.iterrows():
df.append(index[0])

我想以单列数据框或列有所有产品 ID 的系列结束。例如:

productID
0 14306
1 60974
2 72961
3 78818
4 86765
5 155707
6 54405
7 69562

最佳答案

there is no flatmap operation in Pandas ,你可以这样做:

import pandas as pd

data = pd.Series([[], [{'productID': 14306}], [], [], [], [], [],
[{'productID': 60974}, {'productID': 72961}],
[{'productID': 78818}, {'productID': 86765}],
[{'productID': 155707}], [{'productID': 54405}, {'productID': 69562}]])
products = (data.apply(pd.Series).unstack().dropna()
.apply(lambda p: p['productID']).reset_index(drop=True))
print(products)
# 0 14306
# 1 60974
# 2 72961
# 3 78818
# 4 86765
# 5 155707
# 6 54405
# 7 69562
# dtype: int64

关于python - 如何迭代数据框以将字典解压到新的数据框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57116956/

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