Pandas:在数据框中的所有列中搜索并替换字符串
Pandas: Search and replace a string across all columns in a dataframe
我正在尝试在数据框中的所有列中搜索大写的字符串 'NONE',并将其替换为 'None'。如果已经是 'None' 我什么都不做。
我尝试使用 lambda 函数,但它不起作用。
ps:数据中None
不是关键字。它是一个字符串,例如:“None”
df=data.apply(lambda row: 'None' if row.astype(str).str.contains('NONE').any() else row, axis=1)
示例输入
A | B
None | 234
NONE | NONE
565 | 347
预期输出
A | B
None | 234
None | None
565 | 347
试试这个
df = pd.DataFrame({'A': ['None', 'NONE', '565'],
'B': ['234', 'NONE', '347']})
# replace NONE by None
df = df.replace('NONE', 'None')
print(df)
A B
0 None 234
1 None None
2 565 347
我正在尝试在数据框中的所有列中搜索大写的字符串 'NONE',并将其替换为 'None'。如果已经是 'None' 我什么都不做。
我尝试使用 lambda 函数,但它不起作用。
ps:数据中None
不是关键字。它是一个字符串,例如:“None”
df=data.apply(lambda row: 'None' if row.astype(str).str.contains('NONE').any() else row, axis=1)
示例输入
A | B
None | 234
NONE | NONE
565 | 347
预期输出
A | B
None | 234
None | None
565 | 347
试试这个
df = pd.DataFrame({'A': ['None', 'NONE', '565'],
'B': ['234', 'NONE', '347']})
# replace NONE by None
df = df.replace('NONE', 'None')
print(df)
A B
0 None 234
1 None None
2 565 347