我有两个包含"是"或"否"值的列:

  • 合作伙伴
  • 受抚养人

我最初编写这段代码是为了根据这两列中的值生成另一列(见下文):

conditions = [
    # either dependents, partner, or both 
    ((cleaned_df["合作伙伴"] == "Yes") & (cleaned_df["受抚养人"] == "Yes")) | ((cleaned_df["合作伙伴"] == "No") & (cleaned_df["受抚养人"] == "Yes")) | ((cleaned_df["合作伙伴"] == "Yes") & (cleaned_df["受抚养人"] == "No")),
    # neither partner nor dependents
    (cleaned_df["合作伙伴"] == "No") & (cleaned_df["受抚养人"] == "No")
]

然而,第一个条件有点冗长,我想知道是否有更有说服力的方法来重写这段代码.提前谢谢!

推荐答案

我将举一个最小的例子:

import pandas as pd
data = {'Partner' : ['Yes','No','Yes','No'] , 'Dependents': ['No','No','Yes','Yes']}
df = pd.DataFrame(data)

print(df)
Partner Dependents
0   Yes No
1   No  No
2   Yes Yes
3   No  Yes

您可以简单地执行以下操作:

(df["Partner"] == "Yes") | (df["Dependents"] == "Yes")

0     True
1    False
2     True
3     True
dtype: bool

说明:如果任何一个为True,则为True,如果两者都为False,则为False.

Python相关问答推荐

如何将Matplotlib的fig.add_axes本地坐标与我的坐标关联起来?

指示组内的rejected_time是否在creation_timestamp后5分钟内

我从带有langchain的mongoDB中的vector serch获得一个空数组

如果值不存在,列表理解返回列表

使用@ guardlasses. guardlass和注释的Python继承

Pre—Commit MyPy无法禁用非错误消息

使用Python更新字典中的值

为一个组的每个子组绘制,

计算分布的标准差

什么是合并两个embrame的最佳方法,其中一个有日期范围,另一个有日期没有任何共享列?

如何使用两个关键函数来排序一个多索引框架?

幂集,其中每个元素可以是正或负""""

手动设置seborn/matplotlib散点图连续变量图例中显示的值

如何创建引用列表并分配值的Systemrame列

如何强制向量中的特定元素在Gekko中处于优化解决方案中

需要帮助使用Python中的Google的People API更新联系人的多个字段'

每次查询的流通股数量

高效生成累积式三角矩阵

无法在盐流道中获得柱子

替换包含Python DataFrame中的值的<;