новичок здесь. Я хотел бы:
Загрузка CSV (4,5 млн строк) - выполнено
Назначить столбцы - выполнено
Создать новый столбец «Поиск» - выполнено
Примените функцию к поиску, чтобы она проверяла, находится ли название города в списке городов из geonamescache. У geonamescache есть get_cities_by_name (), который должен принимать аргумент name, возвращать словарь с данными или ни одного, если не найден. У меня проблема с передачей имени в качестве аргумента для pandas apply. Любые предложения приветствуются.
import geonamescache
import pandas as pd
gc = geonamescache.GeonamesCache()
cities = gc.get_cities_by_name()
dtypes_dict = {
0: int, # geonameid
1: str, # name
2: str, # asciiname
3: str, # alternatenames
4: float, # latitude
5: float, # longitude
6: str, # feature class
7: str, # feature code
8: str, # country code
9: str, # cc2
10: str, # admin1 code
11: str, # admin2 code
12: str, # admin3 code
13: str, # admin4 code
14: int, # population
15: int, # elevation
16: int, # dem (digital elevation model)
17: str, # timezone
18: str # modification date yyyy-MM-dd
}
df = pd.read_csv('12.txt', sep = '\t', header = None, quoting = 3, iterator=True, chunksize=100, engine='python', dtype=dtypes_dict, names = ['geonameid', 'name', 'asciiname', 'alternatenames', 'latitude', 'longitude', 'feature_class', 'feature_code', 'country_code', 'cc2', 'admin1_code', 'admin2_code', 'admin3_code', 'admin4_code', 'population', 'elevation', 'dem', 'timezone', 'modification_date'])
df["Search"] = df['asciiname'].apply(cities())
df.to_csv("GeoSearch.txt")
Я получаю эту ошибку
Traceback (most recent call last):
File "C:/Users/u6022697/Documents/python work/5pandas.py", line 5, in <module>
cities = gc.get_cities_by_name()
TypeError: get_cities_by_name() missing 1 required positional argument: 'name'
Process finished with exit code 1