我在某些地方(Python 2.7)中有一個字符爲"
的熊貓數據框。 我想從數據中刪除所有"
。我正在使用以下方法:Pandas.replace不從數據中刪除字符
data_frame.replace(to_replace'"', value = '')
但是,數據幀保持不變並且不會發生操作。 任何有關問題的建議將不勝感激。
我在某些地方(Python 2.7)中有一個字符爲"
的熊貓數據框。 我想從數據中刪除所有"
。我正在使用以下方法:Pandas.replace不從數據中刪除字符
data_frame.replace(to_replace'"', value = '')
但是,數據幀保持不變並且不會發生操作。 任何有關問題的建議將不勝感激。
你可以嘗試用replace
regex=True
:
import pandas as pd
df = pd.DataFrame({'ItemID': {0: 8988, 1: 8988, 2: 6547, 3: 6547},
'Description': {0: 'Tall Chair', 1: 'Tall Chair', 2: 'Big" Pillow', 3: 'Big Pillow'},
'Feedback': {0: 'I hated it""', 1: 'Best chair" ever', 2: 'Soft and amazing', 3: 'Horrific color'}})
print df
Description Feedback ItemID
0 Tall Chair I hated it"" 8988
1 Tall Chair Best chair" ever 8988
2 Big" Pillow Soft and amazing 6547
3 Big Pillow Horrific color 6547
print df.replace({'"': ''}, regex=True)
Description Feedback ItemID
0 Tall Chair I hated it 8988
1 Tall Chair Best chair ever 8988
2 Big Pillow Soft and amazing 6547
3 Big Pillow Horrific color 6547
要麼設置inplace
標誌True
或重新分配的輸出回data_frame
:
data_frame.replace(to_replace'"', value = '', inplace=True)
或
data_frame = data_frame.replace(to_replace'"', value = '')
的replace
函數返回與所述替換數據的新數據幀。嘗試:
data_frame = data_frame.replace(to_replace='"', value='')
您需要使用方法的Series
所以str.replace
:
data_frame.foo.str.replace(to_replace'"', value = '')
foo
是一列
> df
foo
0 "bar"
> df.foo.str.replace('"', '')
0 bar
Name: foo, dtype: object
的名稱。如果你有很多列,但是然後@jezrael回答更好,我猜:
for s in df:
if df[s].dtype == "object": # to avoid converting non-string column into string
df.loc[:,s] = df.loc[:,s].str.replace('"', '')
啊,不錯,在數據幀比我的回答更好地工作。 – jrjc
謝謝。我認爲你的答案非常適合在一列中替換。 – jezrael
謝謝! df = df.replace({''':''},regex = True)非常棒! – Menkes