2017-01-01 49 views
1

我有這個能源表數據框有一些能源供應列的值爲'...',沒有固定的這個字符數。這些值都是數字。我想替換這些字符。下面是我用什麼:如何在數據框中的某些列值中替換字符'...'。的數量 '。'不是固定的。

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

的「.astype」也不會改變D型爲str

+1

您需要分配回列。 'vn ['Energy Supply'] = vn ['Energy Supply']。astype(str)'。 'astype'不會修改數據,而是返回一個新的Series。 – Psidom

回答

4

由於您使用startswith好像你正在尋找的東西是這樣的:

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

然而,對於數據幀使用for循環是一個壞主意。

0

您可以使用pd.to_numeric

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