我试图首先将列的数据类型更改为整数,然后将字符串更改为给定浮点数。我想从while循环中更新列的数据类型。
该列混合了字符串和浮点数据类型。
if data_type == str:
column = column.fillna('') # empty string for NaN values
index = 0
for i in column:
if column == float:
column[i] = int(column[i])
return column.astype(str)
答案 0 :(得分:1)
import pandas as pd
s = pd.Series(['12385', 85020.0, '28593'])
s = pd.to_numeric(s, downcast='integer').astype(str)
s
的输出:
0 12385
1 85020
2 28593
dtype: object
答案 1 :(得分:0)
如果某些字符串的前导0需要保留,请去除最后一个.0
s = pd.Series(['12385', 85020.0, '28593', '000123'])
s.astype(str).str.replace('\.0$', '')
0 12385
1 85020
2 28593
3 000123
Name: col, dtype: object
这假设您的浮点值小于1e + 16,否则替换将不起作用。