python - 如何替换数据框中列的某些值?
问题描述
我正在尝试用“”替换列中的某些值,但它正在替换所有值。你能告诉我做错了什么吗?
例子:
东风:
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)
解决方案
只需放下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'
推荐阅读
- stripe-payments - 为什么我收到 Stripe “incorrect_number” 错误?
- c# - unity AddComponent 非常低效和缓慢
- javascript - 如何安装popper v2?
- d3.js - 如何在 d3js 中将字符串转换为数字
- python - 隔离森林打印异常
- sql-server - TABLOCK 是否会提高 BULK INSERT 的性能?
- python - 如何在 discord.py 中获取调用命令的人的姓名
- python - 为什么 int2word 程序只打印前十行?
- python - How to make Flask/Jinja2 load bundled templates in an executable zip archive?
- c# - .NET Core EF,何时避免异步数据库调用