如何在pandas中将负字符串转换为整数?(如何处理" - ")

时间:2015-10-21 22:01:29

标签: python string pandas int

这是我的问题:我在pandas.dataFrame中有一列数字。但是有一些数字需要转换,因为它们可能是string

以下是该列目前的显示方式:

[1
 -1,650.00
 -3
 ...]

我希望这一切都是整数。我的代码是:

df['columnname'].astype(int)

但是,当我将-1,650.00转换为integer时,我收到了错误消息。即使代码是

df['columnname'].astype(float)
df['columnname'].astype(int)

它仍然没有解决问题。它说could not convert string to float: -和" - "仍未处理。

2 个答案:

答案 0 :(得分:1)

试试这个:

df['columnname'].replace(',','').astype(float) 

或者:

float(df['columnname'].replace(',',''))

答案 1 :(得分:1)

浮点数使用点将小数部分与小数部分分开,而不是逗号。你的矢量应该是这样的:

[1,
-1650.00,
-3,
]