如何在python中行中获取条件等于的行列表?我正在尝试删除异常值,并向用户显示列表中哪些行数被删除,如: 0,5,21,58。
y= (df[x].loc[df[x] <= low_lim])
print(y)
print(type(y))我试过了,只得到了一个值
0
<class 'numpy.int64'>发布于 2021-11-19 12:49:59
如果创建二进制掩码并将其应用于不同的行,则可以从掩码中检查删除了哪些行。此外,掩码的工作方式是您指定要保留的值,而不是删除的值,因此,如果您希望将值减少到低于下限,则必须使用>:
import pandas as pd
import random
# Randomize data
df = pd.DataFrame({"x": [random.randint(0, 10) for _ in range(10)], "y": [random.randint(10, 20) for _ in range(10)]})
low_lim = 5
# Create binary mask
mask = (df["x"] > low_lim)
# Drop rows according to binary mask
df_masked = df[mask]
# Make list from mask row indexes that are False i.e. dropped
dropped = list(mask[mask == False].index)
print(df_masked)
print(dropped)https://stackoverflow.com/questions/70034803
复制相似问题