在python / pandas中将字符串更改为整数

时间:2014-06-09 23:50:32

标签: python pandas dataframe

我正在尝试将字符串更改为数据框中的浮点值。

#showing dataframe for illustration`

IN: df2[:5]

OUT:     TRD_EXCTN_DT   ASCII_RPTD_VOL_TX
    0    08/13/2010      1000000
    1    08/16/2010      1MM+
    2    08/16/2010      369000
    3    08/16/2010      1MM+
    4    08/16/2010      1MM+

输出连接字符串,即使我认为我已将其更改为浮点数。我需要对数字进行操作,因此字符串不起作用。

IN: df2.loc[df2['ASCII_RPTD_VOL_TX'] == '1MM+', 'ASCII_RPTD_VOL_TX'] = 1000005
df2.ASCII_RPTD_VOL_TX.astype(float)
df2['b'] = df2['ASCII_RPTD_VOL_TX'] + df2['ASCII_RPTD_VOL_TX']
df2[:3]

OUT:        TRD_EXCTN_DT   ASCII_RPTD_VOL_TX       b
    0        08/13/2010      1000000         10000001000000
    1        08/16/2010      1000005         2000010
    2        08/16/2010      369000          369000369000`

另外,

In[22]:df2.dtypes

Out[22]:TRD_EXCTN_DT         object
ASCII_RPTD_VOL_TX    object
b                    object
dtype: object

1 个答案:

答案 0 :(得分:0)

您想将第二行更改为df2['ASCII_RPTD_VOL_TX']=df2.ASCII_RPTD_VOL_TX.astype(float)

您得到奇怪结果的原因是您的第1行和第3行ASCII_RPTD_VOL_TX列单元格仍在str中。 +正在为那些单元格执行字符串concatenate