Слияние фреймов данных с помощью левого соединения SQL & Pandas - PullRequest
0 голосов
/ 10 февраля 2019

Я сделал две таблицы в базе данных MySQL, используя Python.Следующий код SQL предназначен для объединения двух таблиц в базе данных.Как я могу сделать то же самое, написав эквивалентный код Python?

Код MySQL:

SELECT A.num, B.co_name, A.rep_name
FROM A 
JOIN B 
ON A.num=B.no

Желаемые коды Python:

sql = "XXX"    
df_merged = pd.read_sql(sql, con=cnx)

Ответы [ 2 ]

0 голосов
/ 10 февраля 2019

Мне удалось решить, заключив мой запрос в соответствующие апострофы:

sql = '''SELECT A.num, B.co_name, A.rep_name 
FROM A 
LEFT JOIN B ON A.num=B.no ''' 
df_merged = pd.read_sql(sql, con=cnx)
0 голосов
/ 10 февраля 2019

Один из подходов, который вы можете использовать, - это брать каждый элемент по одному и вставлять его в новую таблицу / фрейм данных.

zip( *map(lambda x: pd.read_sql_query(SQL.format(x),connection).loc[0],  
                                      df.yourDataFrame))

Это сгенерирует пару ключ-значение, таблицу SQL в качестве ключа и pandas df в качестве значения.Вы можете добавить эти значения как угодно (df или sql table.)

Надеюсь, что это помогло :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...