Python 使用某些条件筛选数据
我有一个数据帧Python 使用某些条件筛选数据,python,pandas,Python,Pandas,我有一个数据帧 username score 1 0.0008 1 0.1 1 0.000009 2 0.2 2 0.0098 2 0.7 3 0.99 3 0.019 3 0.0001 我需要使用该条件进行过滤 d = {1: 0.05, 2: 0.01, 3: 0.02} 因此,我需要为每个客户提取dict中的所有小于值 期
username score
1 0.0008
1 0.1
1 0.000009
2 0.2
2 0.0098
2 0.7
3 0.99
3 0.019
3 0.0001
我需要使用该条件进行过滤
d = {1: 0.05, 2: 0.01, 3: 0.02}
因此,我需要为每个客户提取dict中的所有小于值
期望输出:
username score
1 0.0008
1 0.000009
2 0.0098
3 0.019
3 0.0001
如何快速过滤?我知道使用循环是可能的,但我有一个庞大的数据集,包含100多个用户名。你可以用你的字典
d
映射用户名,然后使用布尔索引,只选择那些有分数l
esst
的映射结果:
df[df.score.lt(df.username.map(d))]
得到
username score
0 1 0.000800
2 1 0.000009
4 2 0.009800
7 3 0.019000
8 3 0.000100
使用列表执行此操作
sample=[(1,0.0008)、(1,0.1)、(1,0.000009)、(2,0.2)]
d={1:0.05,2:0.01,3:0.02}
def检查(el):
如果el[1]