我们有两个数据帧,第一个数据帧包含一些浮点值(表示平均速度)。
0 1 2
1 15.610826 19.182879 6.678087
2 13.740250 15.666897 17.640749
3 2.379010 2.889702 2.955097
4 20.540628 9.661226 9.479921
另一个具有地理坐标的数据帧,在该数据帧上发生平均速度。
0 1 2
1 [52.2399255, 21.0654495] [52.23893150000001, 21.06087] [52.23800850000001,21.056779]
2 [52.2449705, 21.0755175] [52.2452905, 21.075118000000003] [52.245557500000004, 21.0748175]
3 [52.2401885, 21.012981500000002] [52.239134, 21.009432] [52.238420500000004, 21.007080000000002]
4 [52.221506500000004, 20.9665085] [52.222458, 20.968952] [52.224409, 20.969248999999998]
现在,我想创建一个坐标为平均速度大于18的列表,在这种情况下,
list_above_18=[[52.23893150000001, 21.06087] , [52.221506500000004, 20.9665085]]
如何基于另一个数据框中的值从一个数据框中选择值?
您可以使用枚举来压缩数据框并分别处理元素。参见下文(A,B是您的数据框,与您提供的顺序相同):
list_above_18=[]
p=list(enumerate(zip(A.values, B.values)))
for i in p:
for k in range(3):
if i[1][0][k]>18:
list_above_18.append(i[1][1][k])
输出:
>>>print(list_above_18)
[[52.23893150000001, 21.06087] , [52.221506500000004, 20.9665085]]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句