gpt4 book ai didi

python - 以矢量化方式在另一个 DataFrame 中查找具有值子集的行

转载 作者:行者123 更新时间:2023-11-28 21:05:53 25 4
gpt4 key购买 nike

如何匹配来自此 DataFrame source 的值:

     car_id     lat     lon
0 100 10.0 15.0
1 100 12.0 10.0
2 100 09.0 08.0
3 110 23.0 12.0
4 110 18.0 32.0
5 110 21.0 16.0
5 110 12.0 02.0

并且只保留坐标在第二个 DataFrame coords 中的坐标:

     lat     lon
0 12.0 10.0
1 23.0 12.0
3 18.0 32.0

因此生成的 DataFrame result 是:

     car_id     lat     lon
1 100 12.0 10.0
3 110 23.0 12.0
4 110 18.0 32.0

我可以使用 apply 以迭代的方式做到这一点,但我正在寻找一种矢量化的方式。我用 isin() 尝试了以下但没有成功:

result = source[source[['lat', 'lon']].isin({
'lat': coords['lat'],
'lon': coords['lon']
})]

上述方法返回:

ValueError: ('operands could not be broadcast together with shapes (53103,) (53103,2)

最佳答案

DataFrame.merge()每个默认合并所有具有相同名称的列(两个 DF 的列的交集):

In [197]: source.merge(coords)
Out[197]:
car_id lat lon
0 100 12.0 10.0
1 110 23.0 12.0
2 110 18.0 32.0

关于python - 以矢量化方式在另一个 DataFrame 中查找具有值子集的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43398937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com