выберите данные из таблицы и сравните с данными - PullRequest
0 голосов
/ 31 января 2019

У меня есть такой фрейм данных

Name  age   city
John   31   London
Pierre 35   Paris
...
Kasparov 40 NYC

Я бы хотел выбрать данные из таблицы городов красного смещения, используя sql, где город включен в город фрейма данных

query = select * from city where ....

Можете ли выпомогите выполнить этот запрос?

Спасибо

Ответы [ 2 ]

0 голосов
/ 31 января 2019

Ответ Джерила идет в правильном направлении, но не завершен.Результат df.unique () - это не строка, а серия.Вам нужна строка в предложении where

# create a string for cities to use in sql, the way sql expects the string
unique_cities = ','.join("'{0}'".format(c) for c in list(df['city'].unique()))

# output 
'London','Paris'

#sql query would be
query = f"select * from city where name in ({unique_cities})"

Приведенный выше код предполагает, что вы используете python 3.x

Пожалуйста, дайте мне знать, если это решит вашу проблему

0 голосов
/ 31 января 2019

Вы можете попробовать следующее:

unique_cities = df['city'].unique()


# sql query
select * from city where name in unique_cities
...