在python/pandas中将字符串更改为整数
我试图在数据帧中将字符串更改为浮点值在python/pandas中将字符串更改为整数,python,pandas,dataframe,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/1
#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
您想将第二行更改为
df2['ASCII\u RPTD\u VOL\u TX']=df2.ASCII\u RPTD\u VOL\u TX.astype(float)
得到奇怪结果的原因是,第一行和第三行ASCII\u RPTD\u VOL\u TX列单元格仍然位于
str
中+
正在为这些单元格执行字符串连接。哇,第一个StackOverflow问题太棒了。你有一个非常欣赏的新手程序员。谢谢你,我的朋友。欢迎来到SO!另外,请检查答案是否被接受为答案,以便其他用户知道您已经有了一个有效的解决方案,并且不会花时间重新发明另一个解决方案。我会做一些编辑,使你的代码块看起来更好。太好了,检查过了。如何使代码块不在第一行缩进。看来这是我的问题。再次感谢你的帮助。