我的数据框中有一列包含一些数字和文本
2009-07-06 05:06:09 Comm Fail
2009-07-06 05:06:29 48,15125
2009-07-06 07:54:58 48,03313
2009-07-06 10:27:29 48,16438
2009-07-07 01:02:19 48,15125
2009-07-07 03:18:28 48,15125
2009-07-07 03:18:38 Scan Timeout
2009-07-07 03:20:19 48,1425
2009-07-07 08:57:49 48,1775
2009-07-07 11:15:38 48,16875
2009-07-08 05:04:59 48,15125
2009-07-08 08:34:39 Comm Fail
dtype: object
但是当我转换为 np.float 时,我使用:
Frequency['Frequency']=pd.to_numeric(Frequency['Frequency'], errors='coerce')
但我得到的结果是:
2009-07-06 05:06:29 NaN
2009-07-06 07:54:58 NaN
2009-07-06 10:27:29 NaN
2009-07-07 01:02:19 NaN
2009-07-07 03:18:28 NaN
2009-07-07 03:18:38 NaN
2009-07-07 03:20:19 NaN
2009-07-07 08:57:49 NaN
2009-07-07 11:15:38 NaN
2009-07-08 05:04:59 NaN
2009-07-08 08:34:39 NaN
2009-07-08 09:09:08 NaN
我该如何解决这个问题..?
最佳答案
问题是逗号。这些是小数点吗?
df['Frequency'] = (
pd.to_numeric(df['Frequency'].str.replace(',', '.'), errors='coerce'))
如果它们不是小数点,只需将其删除(使用 .str.replace(',', '')
代替)。
关于pandas - python 转换为数字时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50801254/