python - Pandas 替换功能错误地更改了所有数据帧

标签 python pandas dataframe replace

<分区>

我使用 pandas replace 函数来替换一个值。请看下面的代码:

import pandas as pd

d = {'color' : pd.Series(['white', 'blue', 'orange']),
   'second_color': pd.Series(['white', 'black', 'blue']),
   'value' : pd.Series([1., 2., 3.])}
df1 = pd.DataFrame(d)
print(df1)

df = df1
df['color'] = df['color'].replace('white','red')

print(df1)

print(df)

我打算更改df中的一个值,但为什么df1中的相同值也更改了?

下面的代码就可以了。

df=df.replace('white','red')

最佳答案

你需要使用.copy()

df = df1.copy()

因此,您对 df 所做的更改不会传播到 df1

关于python - Pandas 替换功能错误地更改了所有数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63576152/

相关文章:

Python 嵌套循环唯一对

python - 将 json 转换为 pandas DataFrame

python - 如何使用 Python 在一个命令中追加和设置值?

Python/最小正整数

python - 以迭代的方式不断添加矩阵

python - Hadoop 模式下的 Mrjob : Error launching job , 输入路径错误:文件不存在

python - 使用预定义的列转换数据帧 Pandas

python - 如何寻找趋势线并计算趋势线与 X 轴的斜率

python - 将数据帧转换为记录数组(并将对象转换为字符串)

Python Pandas Dataframe,删除所有列中 'None' 为值的行