python - 失败 : Replace a single value with a new value for an individual DataFrame column

标签 python python-3.x pandas dataframe jupyter-notebook

我正在尝试替换列中的一些 ID。

我正在使用 pd.read_excel 读取 Excel 文件并将其存储在数据框中:

df_A2C = pd.read_excel(file_loc1, index_col=None, na_values=['NA'])

这可以复制

df_A2C = pd.DataFrame({'FROM_ID': [1, 1, 1, 1, 1],
 'TO_ID': [7, 26, 71, 83, 98],
 'DURATION_H': [0.528555555555556,
  0.512511111111111,
  0.432452777777778,
  0.599486111111111,
  0.590516666666667],
 'DIST_KM': [38.4398, 37.38515, 32.57571, 39.26188, 35.53107]})

此后,我将检查要使用以下代码替换的值: df_A2C.loc[(df_A2C['FROM_ID'] == 9)]

这给出了输出:

FROM_ID TO_ID   DURATION_H  DIST_KM FROM_ID
    9   7        1.183683   89.26777    9
    9   26       1.167639   88.21312    9
    9   71       1.087581   83.40369    9
    9   83       1.254614   90.08985    9
    9   98       1.245642   86.35904    9

现在,我尝试将 FROM_ID9 替换为 8

我已经尝试过以下代码。

df_A2C['FROM_ID'] = df_A2C['FROM_ID'].replace('9','8')

另外,

df_A2C.loc[ df_A2C["FROM_ID"] == "9", "FROM_ID"] = "8"

为了测试结果,我正在执行 df_A2C.loc[(df_A2C['FROM_ID'] == 8)]

输出:

FROM_ID TO_ID   DURATION_H  DIST_KM FROM_ID

这些都不起作用。

我想将 FROM_ID 值 9 替换为 8。我不想创建另一个列,只想替换现有的列值。

我在这里犯了什么错误吗?

最佳答案

你试过吗

df_A2C['FROM_ID'] = df_A2C['FROM_ID'].apply(lambda x: 8 if x==9 else x)

也就是说,如果您的值是 int

如果您的值是字符串,请使用此

df_A2C['FROM_ID'] = df_A2C['FROM_ID'].apply(lambda x: '8' if x=='9' else x)

关于python - 失败 : Replace a single value with a new value for an individual DataFrame column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74244996/

相关文章:

python-3.x - python比较单词

python - 如何打印字典?

python - 自定义断言是否需要 'pass' 语句?

python - Matplotlib/Pandas 中的链接和画笔——在另一个图中绘制一个图中的选定点

pandas - 使用百分比增量创建的 numpy 范围

python - Pandas - 根据混合频率的数据计算月平均值

python - numpy.exp() 溢出

python - 有没有1.0是整数的交互式编程语言?

python - 通过Tor连接时为什么不提供cookie?

Python 子进程/Popen 标准输出被截断