如何在数据框中的某些列值中替换字符“...”。的数量 '。'没有修复。

时间:2017-01-01 16:22:04

标签: python pandas dataframe

我有这个能量表数据框,其能量供应列的某些值为'...',没有固定数量的此字符。值都是数字。我想替换那些角色。这是我用过的:

vn['Energy Supply'].astype(str)
for x in vn['Energy Supply']:
     if x.startswith('.'): 
           x.replace(0, inplace= True)

'.astype'也不会将dtype更改为str

2 个答案:

答案 0 :(得分:4)

由于您使用startswith似乎正在寻找类似的内容:

vn['Energy Supply']=vn['Energy Supply'].astype(str)
vn['Energy Supply'].replace(r'^\.+',value=0,inplace=True,regex=True)

对数据帧使用for循环是一个坏主意。

答案 1 :(得分:0)

您可以使用pd.to_numeric

vn['Energy Supply'] = pd.to_numeric(vn['Energy Supply'], 'coerce').fillna(0)