例如,我有以下内容:
| 。|一种|B|基准测试|
| - -|- -|- -|- -|
| 第0页|一个|2个|一个|
| 一个|一个|五个|三个|
并且我想在Pandas中对每一列应用如下条件:
def f(x):
if x > benchmark:
# X being the values of a or b
return x
else:
return 0
但是我不知道怎么做。如果我做df.apply(f)
,我不能访问行中的其他单元格,因为x
只是一个单元格的值。
我也不想创建新列。我想在与基准比较时直接更改单元格的值,清除不符合基准的单元格或将其置0。
有什么见解吗?
1条答案
按热度按时间h79rfbju1#
您不需要函数,而是使用向量运算:
若要就地变更值:
输出量:
如果不想影响
benchmark
:输出量: