繁体   English   中英

大熊猫从其他2列中删除列值

[英]pandas delete column value from other 2 columns

我有以下数据框

team          team2     condition   Required_Col
Australia   Sri Lanka   Sri Lanka   Australia
Australia   Sri Lanka   Sri Lanka   Australia
Australia   Sri Lanka   Sri Lanka   Australia
Australia   Sri Lanka   Australia   Sri Lanka
Australia   Sri Lanka   Australia   Sri Lanka

我想创建Required_Col ,以便如果该值位于condition列中,则应选择teamteam2列中除condition以外的其他值。 在熊猫中做到这一点的最佳方法是什么?

使用np.where

df['required'] = np.where(df.condition == df.team, df.team2, df.team)

        team     team2  condition   required
0  Australia  SriLanka   SriLanka  Australia
1  Australia  SriLanka   SriLanka  Australia
2  Australia  SriLanka   SriLanka  Australia
3  Australia  SriLanka  Australia   SriLanka
4  Australia  SriLanka  Australia   SriLanka

您可以使用.apply()

df['Required_Col'] = df.apply(lambda x: x['team2'] if (x['condition']==x['team']) else x['team'], axis=1)

输出:

        team    team2       condition   Required_Col
0   Australia   SriLanka    SriLanka    Australia
1   Australia   SriLanka    SriLanka    Australia
2   Australia   SriLanka    SriLanka    Australia
3   Australia   SriLanka    Australia   SriLanka
4   Australia   SriLanka    Australia   SriLanka

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM