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