我有2个列表,其中包含Pandas Dataframe每列的上限和下限 从上限和下限中的dataFrame数据中提取的最佳方法是什么?
答案 0 :(得分:2)
df[(df.column>=min_val) & (df.column<=max_val)]
括号和逻辑&amp;很重要。
答案 1 :(得分:0)
一种方法是使用索引来过滤掉你不想要的值。
df = pd.DataFrame(np.random.random(10), columns=['a'])
df = df.ix[(df.a > lower) & (df.a < upper)]
您可以迭代每个列/边界列表并应用相同的过滤器。
columns = df.columns
for i, bounds in enumerate(zip(upper_bounds, lower_bounds)):
upper, lower = bounds
column = columns[i]
df = df.ix[(df[column] > lower) & (df[column] < upper)]