【问题标题】:Pandas read_csv dtype=object column contains numbersPandas read_csv dtype=object 列包含数字
【发布时间】:2019-11-30 00:34:12
【问题描述】:

我有一个带有字母数字 ID 的 DataFrame 列 - 一些数字,一些字母,一些两者兼而有之。我正在使用 read_csv 读取数据,并希望将此列的所有值作为字符串读取。我无法更改基础数据中的值。

我已尝试将列的 dtype 设置为对象

df = pd.read_csv(filename, dtype = {col: object})

我还尝试使用转换器将列中的所有值更改为字符串。

df = pd.read_csv(filename, converters = {i: str for i in col})

但是,我仍然会得到一些非字符串数字 (12345) 和一些字符串数字 ('12345'),这会打乱我的聚合。

有什么建议吗?谢谢!

【问题讨论】:

  • 您可能会发现回复this question 很有帮助。
  • df = pd.read_csv(filename, dtype = {'col': object}) 。我猜你错过了覆盖 col 的单个引号。请在您的代码中检查它。
  • col 是带有列名的变量,而不是列名。

标签: python pandas


【解决方案1】:

你也可以试试:

df['column'] = df['column'].apply(lambda x: str(x))

【讨论】:

    【解决方案2】:

    用途:

    df = pd.read_csv(filename, dtype = {i: str for i in col})
    

    这个和第一个的唯一区别是我做dtype而不是converter,它基本上是两者的合并。

    【讨论】:

      猜你喜欢
      • 2014-08-06
      • 1970-01-01
      • 2014-07-28
      • 2020-07-26
      • 2013-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多