python:更改包含.0的数据类型

时间:2017-06-13 18:11:56

标签: python type-conversion

我正在使用数据框,不幸的是导入了列" 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_","_")

2 个答案:

答案 0 :(得分:1)

我认为你应该尝试类似的事情:

df['ID'] = df['ID'].apply(str).strip().replace(".0","")

答案 1 :(得分:1)

int()是你似乎在寻找的东西。

[int(i) for i in whateverList]