【问题标题】:Object column with "main" and float numbers to non float numbers [duplicate]具有“主”和浮点数到非浮点数的对象列[重复]
【发布时间】:2021-10-04 23:46:36
【问题描述】:

希望有人可以帮助我 我有

Number Object
Name1 main
Name2 490348,0
Name3 237928,0

df 类型是列“对象”的对象 我需要摆脱浮点数并将它们转换为整数。 但我收到一个错误“无法将浮点 NaN 转换为整数”。

非常感谢!!!

【问题讨论】:

  • 您的问题解决了吗?如果是这样,请尝试考虑accepting 向其他人发出问题已解决的信号。如果没有,您可以提供反馈,以便改进(或完全删除)答案

标签: pandas dataframe jupyter-notebook data-science


【解决方案1】:

你可以通过pd.to_numeric()+np.where()试试:

import numpy as np

s=pd.to_numeric(df['Object'].replace(',','',regex=True),errors='coerce')
df['Object']=np.where(s.notna(),s.fillna(0).astype(int),df['Object'])

df的输出:

    Number  Object
0   Name1   main
1   Name2   490348
2   Name3   237928

现在你可以查看df['Object']的dtype了:

df['Object'].map(type)

#output:

0    <class 'str'>
1    <class 'int'>
2    <class 'int'>
Name: Object, dtype: object

注意:拥有不同数据类型的列并不是一个好主意

【讨论】:

  • 谢谢,问题是这会删除我在没有数字的行中需要的“main”。
  • @Dilan 更新了答案....请看一下:)
猜你喜欢
  • 2019-12-29
  • 2015-07-08
  • 2012-10-27
  • 1970-01-01
  • 2014-11-23
  • 1970-01-01
  • 1970-01-01
  • 2019-09-23
  • 2011-02-28
相关资源
最近更新 更多