gpt4 book ai didi

python - 从包含 dict 的 pandas 列中提取有用的信息

转载 作者:行者123 更新时间:2023-12-02 16:26:51 26 4
gpt4 key购买 nike

Category    Data     Age
A1 30 {'Age1_Set': 25.6, 'WIndex': 343.3, 'Age2_Set': 22.6}
A2 20 {'Age1_Set': 35.2, 'WIndex': 343.3, 'Age2_Set': 42.1}
A3 20 {'Age1_Set': 26.5, 'WIndex': 343.3, 'Age2_Set': 11.1}

我的 pandas df 就像上面那样。年龄应该是“Age1_Set”和“Age2_Set”中的最小值。如果 Age 不是字典而是三列,我可以处理这个问题。

我的输出是:

Category    Data     Age
A1 30 22.6
A2 20 35.2
A3 20 11.1

如何做到这一点?

编辑:我在原始 df 中还有另一个条目

Category    Data     Age
A4 20

年龄基本为空。如何处理这种情况。

最佳答案

Age 列中的字典创建一个新的数据框,然后 filter Age 列并使用 min 沿 axis=1Age1_SetAge2_Set 中获取最小年龄:

df['Age'] = pd.DataFrame(df['Age'].tolist()).filter(like='Age').min(1)

或者你也可以使用Series.str.get + np.minimum:

df['Age'] = np.minimum(df['Age'].str.get('Age1_Set'), df['Age'].str.get('Age2_Set'))

  Category  Data   Age
0 A1 30 22.6
1 A2 20 35.2
2 A3 20 11.1

关于python - 从包含 dict 的 pandas 列中提取有用的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64280551/

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