在数据框单元格中修改字典 - python

我有一个熊猫数据框。在每个单元格中都有一个字典:

id | A                | B              | ...
1  | {"a": 1, "b":1}  |{"d": 1, "e":1} | ...
2  | {"a": 2, "b":3}  |{"d": 5, "e":6} | ...
...
10  | {"a": 1, "b":1}  |{"d": 1, "e":3} | ...

我想更新一个单元格(例如1,A):

df.loc[1,"A"].update({"c":2})

此过程将更新具有相同字典的每个单个单元格,因此在这种情况下(将更改(1,A和10,A)):

id | A                       
1  | {"a": 1, "b":1, "c":2}  
2  | {"a": 2, "b":3}         
...
10  | {"a": 1, "b":1, "c":2}  

如何强制python只更新1,A?

这就是我创建数据框的方式:

df = pd.read_csv( file_path, sep='\t', names=['id', 'A'], compression='gzip', converters={1:ast.literal_eval})

参考方案

如注释中所标识的,[1, "A"][10, "A"]中的两个词典是相同的,因此您不能不更新另一个就更新一个。

虽然我不明白为什么会这样,但在每个单元格中深度复制字典可以解决此问题:

import copy
df = df.applymap(lambda d: copy.deepcopy(d))

Python-crontab模块 - python

我正在尝试在Linux OS(CentOS 7)上使用Python-crontab模块我的配置文件如下:{ "ossConfigurationData": { "work1": [ { "cronInterval": "0 0 0 1 1 ?", "attribute&…

Python Pandas导出数据 - python

我正在使用python pandas处理一些数据。我已使用以下代码将数据导出到excel文件。writer = pd.ExcelWriter('Data.xlsx'); wrong_data.to_excel(writer,"Names which are wrong", index = False); writer.…

我怎样才能从字典的键中算出对象? - python

我有这本字典:dict={"asset":[("S3","A1"),"S2",("E4","E5"),("E1","S1"),"A6","A8"], "…

Python:在不更改段落顺序的情况下在文件的每个段落中反向单词? - python

我想通过反转text_in.txt文件中的单词来生成text_out.txt文件,如下所示:text_in.txt具有两段,如下所示:Hello world, I am Here. I am eighteen years old. text_out.txt应该是这样的:Here. am I world, Hello old. years eighteen a…

用大写字母拆分字符串,但忽略AAA Python Regex - python

我的正则表达式:vendor = "MyNameIsJoe. I'mWorkerInAAAinc." ven = re.split(r'(?<=[a-z])[A-Z]|[A-Z](?=[a-z])', vendor) 以大写字母分割字符串,例如:'我的名字是乔。 I'mWorkerInAAAinc”变成…