【问题标题】:Combining is in and where结合在哪里
【发布时间】:2021-02-23 06:13:30
【问题描述】:

如何根据 Pandas 中的奇偶标志创建新列

这是我的数据:

id   Flag
001   1
002   2
003   3
004   4

如果标志为偶数则为女性,如果标志为奇数则为男性,我希望有此输出:

id   Flag   Gender
001   1     Male
002   2     Female
003   3     Male
004   4     Female

【问题讨论】:

  • 请通过intro tourhelp centerhow to ask a good question 了解本网站的运作方式并帮助您改进当前和未来的问题,从而帮助您获得更好的答案。 “告诉我如何解决这个编码问题?”与 Stack Overflow 无关。您必须诚实地尝试解决方案,然后就您的实施提出具体问题。 Stack Overflow 无意取代现有的教程和文档。

标签: python pandas numpy combinations where-clause


【解决方案1】:

使用numpy.where 和模2 来检查偶数和奇数:

df['Gender'] = np.where(df['Flag'] % 2,'Male','Female')
print (df)
   id  Flag  Gender
0   1     1    Male
1   2     2  Female
2   3     3    Male
3   4     4  Female

【讨论】:

    【解决方案2】:

    尝试申请

     Id =['001','002','003','004']
     Flag=[1,2,3,4]  
     df=pd.DataFrame({'id':Id,'flag':Flag})
    
     df['gender']=df['flag'].apply(lambda x: 'Male' if x%2 else 'Female')
    

    输出:

     id  flag  gender
     0  001     1    Male
     1  002     2  Female
     2  003     3    Male
     3  004     4  Female
    

    【讨论】:

      猜你喜欢
      • 2022-01-08
      • 1970-01-01
      • 2017-01-17
      • 1970-01-01
      • 2011-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多