Я пытаюсь использовать поляры Python поверх Pandas sql для большого кадра данных, поскольку у меня возникают ошибки памяти. Есть два условия, которые используются в этом фрейме данных, но не могут правильно определить синтаксис.
Вот как выглядят данные:
Я пытаюсь использовать поляры Python поверх Pandas sql для большого кадра данных, поскольку у меня возникают ошибки памяти. Есть два условия, которые используются в этом фрейме данных, но не могут правильно определить синтаксис. Вот как выглядят данные:
КлючField DateColumn
1234 Отвес 01.02.2020
1234 Отвес 01.03.2020
1234 Груша 01 апреля 2020 г.< /td>
[code]import pandas as pd import datetime as dt import pandasql as ps
d = {'Key': [1234, 1234, 1234, 1234, 1234, 1234, 1234,
df_output = ps.sqldf(""" select a.Key ,a.Field ,b.Field as PreviousField ,a.DateColumn ,b.DateColumn as PreviousDate
from df as a, df as b where a.Key = b.Key and b.DateColumn = a.PreviousMonth
""")
print(df_output.head())
Key Field DateColumn PreviousDate 0 1234 Plumb 2020-03-01 00:00:00.000000 2020-02-01 00:00:00.000000 1 1234 Pear 2020-04-01 00:00:00.000000 2020-03-01 00:00:00.000000 2 1234 Plumb 2020-05-01 00:00:00.000000 2020-04-01 00:00:00.000000 3 1234 Orange 2020-06-01 00:00:00.000000 2020-05-01 00:00:00.000000 4 1234 Pear 2020-07-01 00:00:00.000000 2020-06-01 00:00:00.000000 [/code] Я пытался сделать [code]data_output = df.join(df, left_on='Key', right_on='Key') [/code] Но не удалось найти хороший пример того, как поставить два условия в условие соединения.