Pandas通过数据帧中的值获取行

2024-09-30 02:18:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个参考数据框:

例如:

  time latitude longtitude pm2.5
  0 .  0        0          0
  1 .  0        5          1

  ......

我有个问题要问你

例如:

  time latitude longtitude
  0 .  1        3
  1 .  0        5

  .......

我想得到pm2.5,它与查询中的行相匹配

我使用了行的迭代,但是它看起来非常慢

predications_phy = []
for index, row in X_test.iterrows():    
    Y = phyDf[(phyDf["time"] == row["time"]) & (phyDf["latitude"] == row["latitude"]) & (phyDf["longtitude"] == row["longtitude"])]
    predications_phy.append(Y)

获取行的有效且正确的方法是什么


Tags: 数据方法intestforindextimephy
1条回答
网友
1楼 · 发布于 2024-09-30 02:18:50

给定reference dataframedf1和query dataframedf2,可以执行左合并来提取结果:

res = df2.merge(df1, how='left')

print(res)

#    time  latitude  longtitude  pm2.5
# 0     0         1           3    NaN
# 1     1         0           5    1.0

除非您的操作无法矢量化,否则不鼓励使用循环

相关问题 更多 >

    热门问题