【发布时间】:2020-10-02 20:04:44
【问题描述】:
这是我的数据框:
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 列,如果在 Tell 列中存在“No”行,则检查每个 ID。如果是,则第 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']
请帮忙
【问题讨论】:
-
你实际上不能把空白的东西串联起来。它应该是空字符串、nan 或零.. 或其他。