python - 有条件地用 pandas 中的行值填充列

标签 python pandas dataframe

我有一组按姓名表示的男性和女性 worker 的工资数据。

 Male     Female    Male_Wage  Female_Wage
 James     Lori        8            9
 Mike      Nancy       10           8
 Ron       Cathy       11           12
 Jon       Ruth        15           9
 Jason     Jackie      10           10

在 pandas 中,我想在数据框中创建一个新列,显示收入最高的人的姓名。如果存在两者支付相同的情况,则值(value)应该相同。

     Male     Female    Male_Wage  Female_Wage  Highest_Paid
     James     Lori        8            9          Lori
     Mike      Nancy       10           8          Mike
     Ron       Cathy       11           12         Cathy
     Jon       Ruth        15           9          Jon
     Jason     Jackie      10           10         Same

我已经能够添加一列并用值填充它,根据其他列计算值等,但无法根据实例中相同条件的另一列的值有条件地填充新列工资一样,给我带来了麻烦。我已经搜索了很多答案,但没有找到任何涵盖这种情况的所有要素的内容。

感谢您的帮助。

最佳答案

您可以使用loc语句来做到这一点

df.loc[df['Male_Wage'] == df['Female_Wage'], 'Highest_Paid'] = 'Same'
df.loc[df['Male_Wage'] > df['Female_Wage'], 'Highest_Paid'] = df['Male']
df.loc[df['Male_Wage'] < df['Female_Wage'], 'Highest_Paid'] = df['Female']

关于python - 有条件地用 pandas 中的行值填充列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58676159/

相关文章:

python - Pandas - groupby 具有另一列条件的列

python - 如果 Flask 应用程序中的对象是一个具有空值的数据框和一个由下划线分隔的数字的列,如何在应用程序路由之间传递对象?

python - 机器学习-多标签分类SVM

python - 亚马逊网络服务/博托 : Upload and execute remote python/bash script via SSH on localhost

python - 从 pandas DataFrame MultiIndex 中选择命名索引级别

Python-根据列值获取百分比

r - 循环 R 中的因子级别 - 如何操作两个连续级别

替换 data.frame 列中的某些值

python - 在 Python 中制作菜单

python - 在 Pandas 中将所有选定值替换为 NaN