是否有一种更优雅的方法可以按一列过滤数据帧,然后按另一列进一步过滤每个子集?结果数据是否在一个数据帧中?过滤信息在字典中。第一个过滤器在使用dict键的col1
上。第二个过滤器使用其相应的值在col3
上
df = pd.DataFrame({'col1': [1,1,1,2,2], 'col2': [2,2,2,2,2], 'col3': [1,6,7,5,9]})
df
如下所示
|col1|col2|col3|
|1 |2 |1 |
|1 |2 |6 |
|1 |2 |7 |
|2 |2 |5 |
|2 |2 |9 |
filter_dict = {1:5, 2:7}
df_new = df.somefunction(filter_dict)
其中col1
为1,过滤器中col3
值大于5。其中col1
为2,按col3
筛选的值大于7。这将导致:
df_new
|col1|col2|col3|
|1 |2 |6 |
|1 |2 |7 |
|2 |2 |9 |
用concat实现列表理解和布尔索引
相关问题 更多 >
编程相关推荐