我有一个如下所示的数据框
df = pd.DataFrame({'testid':(1,2,1,2,1,2),'Name':('apple','apple','melon','melon','orange','orange'), 'A': (1,2,10,20,5,5), 'B': (1,5,4,2,3,1)})
睾丸 | 姓名 | A | B |
---|---|---|---|
1 | 苹果 | 1 | 1 |
2 | 苹果 | 2 | 5 |
1 | 甜瓜 | 10 | 4 |
2 | 甜瓜 | 20 | 2 |
1 | 橙色 | 5 | 3 |
2 | 橙色 | 5 | 1 |
我想为每个 testid 以及 A 列和 B 列返回该数据帧的一个切片(仍然是一个数据帧),如果相应的 apple 值大于 1,则返回相应的 melon 值,否则返回 0。 基本上我想得到一个像这样的DataFrame
睾丸 | A | B |
---|---|---|
1 | 0 | 0 |
2 | 20 | 2 |
如何实现这一目标?我尝试使用 lambda x: 进行 apply() ,但没有找到将数据框列放入 lambda 函数的方法。