首页 > 解决方案 > 如何替换数据框中列的某些值?

问题描述

我正在尝试用“”替换列中的某些值,但它正在替换所有值。你能告诉我做错了什么吗?

例子:

东风:

  output_condition
0 AND
1 OR
2 THEN 'Unsolicited Question From Field'
3 THEN 'Unsolicited Question Direct'
4 AND
5 AND
6 OR
7 THEN 'Introduction'

预期输出:

东风:

  output_condition
0 
1 
2 THEN 'Unsolicited Question From Field'
3 THEN 'Unsolicited Question Direct'
4 
5 
6 
7 THEN 'Introduction'

我正在执行以下代码:

df['output_condition'] = df['output_condition'].replace('AND', '', inplace=True)
df['output_condition'] = df['output_condition'].replace('OR', '', inplace=True)

标签: pythonpython-3.xpandasdataframe

解决方案


只需放下inplace=True

df['output_condition'] = df['output_condition'].replace('AND', '')
df['output_condition'] = df['output_condition'].replace('OR', '')

或者你可以链接:

df['output_condition'] = df['output_condition'].replace('AND', '').replace('OR', '')

但是,由于您要替换整个值,因此可以使用isin()

 df.loc[df['output_condition'].isin(['AND','OR']), 'output_condition'] = ''

输出:

                         output_condition
0                                        
1                                        
2  THEN 'Unsolicited Question From Field'
3      THEN 'Unsolicited Question Direct'
4                                        
5                                        
6                                        
7                     THEN 'Introduction'

推荐阅读