有没有一种方法可以在不使用循环的情况下将验证条件(包括其自身值)的数据帧的每个元素减少一个常数?
例如,每个单元格 < 2 的值都会减少 1。
非常感谢。
最佳答案
我喜欢做这个掩蔽。 这是使用您的示例的低效循环
#Example using loop
for val in df['column']:
if(val<2):
val = val - 1
下面的代码给出了相同的结果,但通常会快得多,因为它不使用循环。
# Same effect using masks
mask = (df['column'] < 2) #Find entries that are less than 2.
df.loc[mask,'column'] = df.loc[mask,'column'] - 1 #Subtract 1.
关于python - 有条件地更改每个索引和列中数据帧的值的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53991236/