Добавли штуку, которая просто сортирует. Все работтает, остлось норм в проект сунуть и написать API
This commit is contained in:
parent
0b619038ba
commit
a7aacfa323
51
neural_network/dataset/sortTest.py
Normal file
51
neural_network/dataset/sortTest.py
Normal file
@ -0,0 +1,51 @@
|
||||
import json
|
||||
import pandas as pd
|
||||
|
||||
# JSON данные
|
||||
json_data = '''
|
||||
[
|
||||
{ "value": "AAQ", "label": "Анапа, Витязево, AAQ", "timezone": "+3", "latitude": 45.0029, "longitude": 37.3473 },
|
||||
{ "value": "ARH", "label": "Архангельск, Талаги, ARH", "timezone": "+3", "latitude": 64.6003, "longitude": 40.7168 },
|
||||
{ "value": "ASF", "label": "Астрахань, им. Б.Н. Кустодиева, ASF", "timezone": "+4", "latitude": 46.2833, "longitude": 48.0063 },
|
||||
{ "value": "BAX", "label": "Барнаул, Михайловка, BAX", "timezone": "+7", "latitude": 53.3638, "longitude": 83.5385 }
|
||||
]
|
||||
'''
|
||||
|
||||
data = json.loads(json_data)
|
||||
|
||||
# Извлекаем первое слово перед запятой и первое слово после запятой
|
||||
cities_set = set()
|
||||
for entry in data:
|
||||
parts = entry['label'].split(',')
|
||||
if len(parts) > 1:
|
||||
city1 = parts[0].strip().split()[0] if parts[0].strip().split() else ''
|
||||
city2 = parts[1].strip().split()[0] if parts[1].strip().split() else ''
|
||||
cities_set.update([city1, city2])
|
||||
|
||||
# Прочитаем CSV файл
|
||||
csv_file_path = 'geo-reviews-dataset-2023.csv'
|
||||
df = pd.read_csv(csv_file_path)
|
||||
|
||||
# Функция для проверки совпадения города в адресе
|
||||
def find_city(address, cities_set):
|
||||
parts = address.split(',')
|
||||
if len(parts) > 1:
|
||||
word1 = parts[0].strip().split()[0] if parts[0].strip().split() else ''
|
||||
word2 = parts[1].strip().split()[0] if parts[1].strip().split() else ''
|
||||
if word1 in cities_set:
|
||||
return word1
|
||||
elif word2 in cities_set:
|
||||
return word2
|
||||
return None
|
||||
|
||||
# Добавим новый столбец на основе первого слова из адреса
|
||||
df['city'] = df['address'].apply(lambda x: find_city(x, cities_set))
|
||||
|
||||
# Оставим только те строки, где город из CSV файла совпадает с городом из JSON
|
||||
df_filtered = df[df['city'].notnull()]
|
||||
|
||||
# Сохраним отсортированный DataFrame обратно в CSV
|
||||
output_file_path = 'sorted_filtered_geo-reviews-dataset-2023.csv'
|
||||
df_filtered.to_csv(output_file_path, index=False)
|
||||
|
||||
print(df_filtered[:15])
|
Loading…
Reference in New Issue
Block a user