我想将csv文件导入到pandas数据框。有一列带有ID的ID,其中仅包含数字,但并非每一行都有ID。
ID xyz
0 12345 4.56
1 45.60
2 54231 987.00
我想将此列读为String,但是即使我用
df=pd.read_csv(filename,dtype={'ID': str})
我懂了
ID xyz
0 '12345.0' 4.56
1 NaN 45.60
2 '54231.0' 987.00
是否有一种简单的方法来获取ID,使其成为不带小数的字符串(如
'12345'
),而无需在导入表后编辑字符串? 最佳答案
一个解决方案可能是这样,但是在导入df之后:
df = pd.read_csv(filename)
df['ID'] = df['ID'].astype(int).astype(str)
或由于
NaN
具有:df['ID'] = df['ID'].apply(lambda x: x if pd.isnull(x) else str(int(x)))
关于python - Pandas Dataframe将列解释为浮点而不是字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53280650/