【发布时间】:2021-11-30 09:58:26
【问题描述】:
我无法理解这种行为。我有一个数据框,它在字典 my_dict
my_dict = {'a': pd.DataFrame({'x': [1], 'y': [2]})}
print(my_dict)
>>{'a': x y
0 1 2}
现在,当我尝试对数据框进行数学运算时,它可以工作,但是在数据框上重命名的列不起作用 -
for key, val in my_dict.items():
val['z'] = val['x'] * val['y']
val = val.rename(columns = {'x': 'new_x'})
print(my_dict)
{'a': x y z
0 1 2 2}
数学运算val['z'] = val['x'] * val['y'] 在my_dict 内的数据框中产生了一个新列z
但是列重命名操作val = val.rename(columns = {'x': 'new_x'})没有效果。
为什么我在my_dict 中没有看到new_x 列。怎么回事?
【问题讨论】:
标签: python pandas dictionary iteration