我正在使用数据框,不幸的是导入了列" ID"采用以下格式:7.350943 + e
我以为我用这段代码解决了这个问题:
pd.set_option('display.float_format', lambda x: '%3.f' % x)
然而,这仅仅修复了显示,在后端它仍然保持这种科学格式。
当我尝试根据列ID和列源创建新列时,我得到以下内容:
df['Primary_key']=df['ID'].apply(str)+'_'+df['Source']
Name ID Source Primary_key
John 782857635 email 782857635.0_email
我需要以什么格式更改数据类型才能摆脱.0?
df['ID'].values
array([782929635.0, 783063368.0, 782960457.0, ..., 783257941.0,
783535550.0, nan], dtype=object)
我尝试在主键中替换它,但它没有工作(数据帧没有变化)
df['Primary_key']= df['Primary_key'].str.strip().replace(".0_","_")
答案 0 :(得分:1)
我认为你应该尝试类似的事情:
df['ID'] = df['ID'].apply(str).strip().replace(".0","")
答案 1 :(得分:1)
int()
是你似乎在寻找的东西。
[int(i) for i in whateverList]