【问题标题】:Change column values using pandas使用 pandas 更改列值
【发布时间】:2017-06-12 11:16:38
【问题描述】:

我正在使用 pandas 并尝试用另一个值替换一个值。我究竟做错了什么?

Source

Drive-By
Referral
Website
Radio

我的sn-p:

import pandas as pd

second = pd.read_csv('T:/pythonfiles/result2.csv')
second['Source'] = second['Source'].replace('Drive-By', 'Drive-by')

错误:

File "pandas/src/hashtable_class_helper.pxi", line 732, in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:13161)
File "pandas/src/hashtable_class_helper.pxi", line 740, in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:13115)
KeyError: 'Source'

【问题讨论】:

  • KeyError: 'Source' 表示 Source 在您的数据文件中不是有效的标头名称。您确定列名正确吗?
  • 您能否在阅读 CSV 文件后发布print(second.columns.tolist()) 的输出(read_csv()...) - 这将有助于您了解您的列有什么问题
  • 谢谢@查尔斯·莫里斯。 Source前面有一个分号。

标签: python pandas


【解决方案1】:

我相信您可以使用this answer中的以下内容:

second.replace({'Drive-By': 'Drive-by'}, regex=True)

这通常会替换所有列中的值,但如果您没有在其他列中重复出现“Drive-By”,这应该可以正常工作。

但是,您的错误消息表明您遇到了“源”未被识别为表中的键的问题。

【讨论】:

    猜你喜欢
    • 2022-08-14
    • 1970-01-01
    • 2022-12-12
    • 2022-07-28
    • 2020-07-19
    • 2020-08-15
    • 2012-10-15
    • 1970-01-01
    • 2020-07-24
    相关资源
    最近更新 更多