我有一個熊貓數據幀,假設: df = pd.DataFrame({'Column name':['0,5',600,700]})
Pandas.DataFrame.str.replace函數替換花車爲NaN
我需要刪除,
。該代碼是: df_mod = df.stack().str.replace(',','').unstack()
結果我得到:[05, NaN, NaN]
你有,爲什麼我的表達與南,以及如何避免它取代數字什麼想法嗎?非常感謝!
我有一個熊貓數據幀,假設: df = pd.DataFrame({'Column name':['0,5',600,700]})
Pandas.DataFrame.str.replace函數替換花車爲NaN
我需要刪除,
。該代碼是: df_mod = df.stack().str.replace(',','').unstack()
結果我得到:[05, NaN, NaN]
你有,爲什麼我的表達與南,以及如何避免它取代數字什麼想法嗎?非常感謝!
這些數字視爲數值,不具有str.replace
方法,可以將列轉換爲字符串,刪除逗號,然後轉換數據類型回:
df['Column name'].astype(str).str.replace(",", "").astype(int)
#0 5
#1 600
#2 700
#Name: Column name, dtype: int64
由@Psidom標識,您得到NaN
,因爲int
s沒有replace
方法。正如你可以運行它,並在這些Nan
值與原列
c = 'Column name'
df[c].str.replace(',', '').fillna(df[c])
0 05
1 600
2 700
Name: Column name, dtype: object
這會保留所有的dtypes
您有混合dtypes所以我認爲,更換造成的D型細胞進行上變頻浮動填寫 – EdChum