gpt4 book ai didi

python - 根据值附加到存储在数据帧中的字典

转载 作者:行者123 更新时间:2023-12-01 03:37:39 26 4
gpt4 key购买 nike

所以我有一个如下所示的 DataFrame

   a   b   c  
0 AB 10 {a: 2, b: 1}
1 AB 1 {a: 3, b: 2}
2 AC 2 {a: 4, b: 3}
...
400 BC 4 {a: 1, b: 4}

给定另一个 key 对,如 {c: 2}将其添加到 c 行中的每个值的语法是什么?

   a   b   c  
0 AB 10 {a: 2, b: 1, c: 2}
1 AB 1 {a: 3, b: 2, c: 2}
2 AC 2 {a: 4, b: 3, c: 2}
...
400 BC 4 {a: 1, b: 4, c: 2}

我已经尝试过df['C'] +=, and df['C'].append() ,和df.C.append ,但似乎都不起作用。

最佳答案

这是用另一个字典更新列中字典的通用方法,可用于多个键。

测试数据框:

>>> x = pd.Series([{'a':2,'b':1}])
>>> df = pd.DataFrame(x, columns=['c'])
>>> df
c
0 {'b': 1, 'a': 2}

只需应用 lambda 函数即可:

>>> update_dict = {'c': 2}
>>> df['c'].apply(lambda x: {**x, **update_dict})
0 {'b': 1, 'a': 2, 'c': 2}
Name: c, dtype: object

注意:这使用 How to merge two Python dictionaries in a single expression? 的答案中提到的 Python3 更新字典语法。 。对于 Python2,您可以使用顶部答案中的 merge_two_dicts 函数。您可以使用该答案中的函数定义,然后编写:

df['c'].apply(lambda x: merge_two_dicts(x, update_dict))

关于python - 根据值附加到存储在数据帧中的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40160664/

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