我有一个数据框和一个这样的数组:
df
x y z
1 10 1
10 20 2
20 30 3
30 40 4
40 50 5
my_array= 5 35 36 40 41 45 46 47 48
Run Code Online (Sandbox Code Playgroud)
我如何遍历数据帧,以便,如果my_array存在于x和之间,则将保留行y。最终的 df 将是:
x y z
1 10 1
30 40 4
40 50 5
Run Code Online (Sandbox Code Playgroud)
我试过了 df=df[(my_array <= df['x']) and (df['y'] <= my_array)]
但它给出了值错误;Lengths must match to compare.
my_array 的长度大于行数。有什么帮助吗?
df[((df['x'].values[:, None] <= my_array) &
(df['y'].values[:, None] >= my_array)).any(1)]
Run Code Online (Sandbox Code Playgroud)
x y z
0 1 10 1
3 30 40 4
4 40 50 5
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
152 次 |
| 最近记录: |