gpt4 book ai didi

python - 通过从另一个 csv 中提取值来附加一个 csv

转载 作者:行者123 更新时间:2023-11-30 22:37:35 25 4
gpt4 key购买 nike

我有一个大型 CSV,其中有几列,其中一列是地址列。在另一个 CSV 中,给出了带有纬度和经度的地址。我想匹配地址并提取纬度和经度并写入我的第一个大 csv 中。

我确实尝试使用 pandas join 和 merge,但它们与索引列合并,我需要搜索地址 csv 中的地址,然后将经纬度拉到大 csv 并创建两个新列。

我发现了一些类似的问题,但那就是 Ruby:Here :我想使用 Python 和 Pandas

Large.csv 

col1, col2, col3, col4, col5, col6, addr
234, 453,34535,342,634,636, Ken street
562, 345,6753,835,864,967,St Pauls

addr.csv

addr,lat,lon
baker street, lat1, lon1
ken street, lat2,lon2
paul street, lat3, lon3
St Pauls, lat4, lon4

Ouput.csv
col1, col2, col3, col4, col5, col6, addr, lat, lon
234, 453,34535,342,634,636, Ken street,lat2,lon2
562, 345,6753,835,864,967,St Pauls,lat4,lon4

输入文件太大,无法加载到 Excel 工作表中并进行 Vlookup实现输出的最简单方法是什么?

我正在使用 python 3.x 版本和 Pandas 的更新版本感谢您的每一次帮助,提前致谢

最佳答案

这是您通常的做法,固定地址数据:

import sys
if sys.version_info[0] < 3:
from StringIO import StringIO
else:
from io import StringIO

import pandas as pd

large = StringIO('''col1, col2, col3, col4, col5, col6, addr
234, 453,34535,342,634,636, Ken street
562, 345,6753,835,864,967,St Pauls''')

addr = StringIO('''addr,lat,lon
baker street, lat1, lon1
ken street, lat2,lon2
paul street, lat3, lon3
St Pauls, lat4, lon4''')

df_large = pd.read_csv(large, sep=',')
df_large.columns = df_large.columns.str.strip()
df_large.addr = df_large.addr.apply(lambda x: x.lower().strip())

df_addr = pd.read_csv(addr, sep=',')

df_addr.addr = df_addr.addr.apply(lambda x: x.lower().strip())

df_large = pd.merge(df_large, df_addr, how='left', on='addr')

关于python - 通过从另一个 csv 中提取值来附加一个 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43843947/

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