python - 如何根据条件将数据框列中的值写入另一列?
问题描述
我在这里尝试弄清楚如何根据条件设置列时遇到了麻烦。基本上,如果该行与“企业”和“客户”不同,我想将“客户”列中的值复制到“呼叫参考”列的行中。
这是我正在尝试的代码:
import numpy as np
df_OCB['Call Ref'] = np.select([
np.logical_and(
df_OCB['Call Ref'] != 'Enterprise',
df_OCB['Call Ref'] != 'Client'
)],
df_OCB['Costomer'],
default=''
)
有谁知道解决方案?
解决方案
不确定这是否是您真正想要做的,因为您没有提供输入和输出数据帧的示例,但据我所知,我做了一个玩具示例:
import pandas as pd
import numpy as np
df = pd.DataFrame([['A','Enterprise'],
['B','Client'],
['C','Client'],
['D','Something else'],
['E','Enterprise']], columns=['Client','Call Ref'])
Output:
Client Call Ref
0 A Enterprise
1 B Client
2 C Client
3 D Something else
4 E Enterprise
在这里你应用一个布尔掩码:(df['Call Ref'] != 'Enterprise') & (df['Call Ref'] != 'Client')
像这样:
df['Call Ref'][(df['Call Ref'] != 'Enterprise') & (df['Call Ref'] != 'Client')] = df['Client'][(df['Call Ref'] != 'Enterprise') & (df['Call Ref'] != 'Client')]
Output:
Client Call Ref
0 A Enterprise
1 B Client
2 C Client
3 D D
4 E Enterprise
如果您提供有关所需输出数据框的更多信息,我可以给您一个更简洁的示例,希望对您有所帮助。
推荐阅读
- flutter - 如何使用 MediaQuery 构建主题?
- python - 如果 col 的行中的 str1==str 在另一个 col 的行中,则设置第三个 col 的 str1=str2
- git - Git合并问题不相关的分支历史
- kotlin - 在 Kotlin 中替换 String.format(...Locale)
- dart - Dart:如何将元素添加到从父类继承的 Map
- xero-api - XERO api 登录后删除租户连接
- python - 为什么我从 powershel 安装软件包时出错
- python - Pygame 窗口立即打开和关闭
- swift - 删除 Swift RxAlamofire 依赖项
- symfony-cmf - SymfonyCMF 中出现错误“没有一个链接的路由器能够生成路由:找不到路由”的原因是什么?