【问题标题】:Change Datatype in Pandas Dataframe Column更改 Pandas 数据框列中的数据类型
【发布时间】:2020-02-11 15:55:52
【问题描述】:

我有一个数据框,一列 Quantity 具有以下值

Col1
20,000
20
-10,000
-50

我想将此列转换为浮点数,因为稍后我将与浮点数进行比较以过滤某些行。但是我得到一些或其他错误:“只能使用带有字符串值的 .str 访问器!”

我想我发现了问题,当它读取值“-50”时,它会将其读取为浮点数,因此没有“str”访问器有效。加载 csv 文件时,该列是对象类型系列

我的代码看起来像

df['Qty'] = np.where(~df['Qty'].str.contains(','),df['Qty'],df['Qty'].str.replace(",",""))
df['Qty'] = df['Qty'].astype(float)

How can I resolve this issue?

【问题讨论】:

  • 使用pd.to_numeric
  • 如果我执行 to_numeric 会收到错误“ValueError: Unable to parse string "20,000" at position 0"。 @yatu
  • pd.to_numeric(series, errors='coerce')
  • 你能分享加载 CSV 的代码吗?可以在那里选择 dtype。

标签: python pandas


【解决方案1】:

这将完成工作:

pd.to_numeric(df['Col1'].astype(str).str.replace(',',''))

【讨论】:

    猜你喜欢
    • 2023-01-21
    • 2018-05-25
    • 2021-02-20
    • 2018-01-09
    • 1970-01-01
    • 2020-07-24
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    相关资源
    最近更新 更多