python数据帧在将Int转换为Str时,在末尾添加了.0
打印(数据帧) 我上传到Mongo db并将其转换为Str时出错 打印(数据帧类型(str)) 将Int转换为Str时,在末尾添加.0。 如何有效地消除.0? 感谢python数据帧在将Int转换为Str时,在末尾添加了.0,python,string,python-3.x,pandas,dataframe,Python,String,Python 3.x,Pandas,Dataframe,打印(数据帧) 我上传到Mongo db并将其转换为Str时出错 打印(数据帧类型(str)) 将Int转换为Str时,在末尾添加.0。 如何有效地消除.0? 感谢int64使用: df['test_num'] = df['test_num'].astype('int64') #alternative #df['test_num'] = df['test_num'].astype(np.int64) print (df) Total Price test_num 0
int64使用:
df['test_num'] = df['test_num'].astype('int64')
#alternative
#df['test_num'] = df['test_num'].astype(np.int64)
print (df)
Total Price test_num
0 0 71.7 204256000000000
1 1 39.5 204254000000000
2 2 82.2 204188000000000
3 3 42.9 204171000000000
说明:
您可以检查转换后的列-它返回float64
print (df['test_num'].dtype)
float64
转换为字符串后,它将删除指数符号并转换为float
s,因此添加了traling0
:
print (df['test_num'].astype('str'))
0 204256000000000.0
1 204254000000000.0
2 204188000000000.0
3 204171000000000.0
Name: test_num, dtype: object
如果你能提供解释,我将删除我的答案。这并不能解释问题所在。@jpp-我尝试了一下,但需要更多的时间。@jpp-我尝试了一点,但应该更好,我刚刚看到了你的答案。抱歉.df=df.apply(lambda x:x.replace('0.0',“”))
print (df['test_num'].dtype)
float64
print (df['test_num'].astype('str'))
0 204256000000000.0
1 204254000000000.0
2 204188000000000.0
3 204171000000000.0
Name: test_num, dtype: object