我有这个能量表数据框,其能量供应列的某些值为'...',没有固定数量的此字符。值都是数字。我想替换那些角色。这是我用过的:
vn['Energy Supply'].astype(str)
for x in vn['Energy Supply']:
if x.startswith('.'):
x.replace(0, inplace= True)
'.astype'也不会将dtype更改为str
答案 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)