根据条件创建新列

时间:2020-06-12 23:34:37

标签: python pandas

这是我的数据框:

      ID  Tell  Number Animals
0       1   Yes     3    Cat
1       1   Yes     6    Pig
2       1   No      9    Dog
3       2   Yes     4    Cat
4       2   Yes     7    Pig 
5       2   No      8    Dog
6       3   Yes     15   Cat
7       3   Yes     8    Pic 
8       3   Yes      6   Dog
9       3   Yes     13   Cat

我想添加第5列,以检查每个ID,如果在Tell列中有一行具有“ No”的行。如果是这样,则第5列是对应ID的对应编号。如果没有带有“否”的行,则将其留空。

因此,我得到的df应该看起来像这样:

      ID  Tell  Number Animals col5
0       1   Yes     3    Cat    9
1       1   Yes     6    Pig    9
2       1   No      9    Dog    9
3       2   Yes     4    Cat    8
4       2   Yes     7    Pig    8
5       2   No      8    Dog    8
6       3   Yes     15   Cat    
7       3   Yes     8    Pic 
8       3   Yes     6    Dog
9       3   Yes     13   Cat

这是我的开始:

df.loc[df['Tell'].str.contains('No'), 'col5'] = df['Number']

请帮助

1 个答案:

答案 0 :(得分:1)

我们可以先过滤<Phone>: AnchorLayout: anchor_x: 'center' anchor_y: 'top' WindowManager: id: screen_manager size_hint: 1, 0.9 anchor_y: 'top' transition: FadeTransition() Window1: Window2: AnchorLayout: anchor_x: 'center' anchor_y: 'bottom' BoxLayout: canvas: Color: rgba: 228, 241, 254, 1 Rectangle: size: self.size orientation: 'horizontal' size_hint: 1, .1 ImageButton: source: 'pic1.png' on_press: self.on_press() ImageButton: source: 'pic2.png' on_press: self.on_press() <Window1>: name: 'window1' Label: text: 'Window1' <Window2>: name: 'window2' Label: text: 'Window2'

merge