У меня есть два фрейма данных, упомянутых ниже.
кадр данных df1 состоит из столбца SaleDate в качестве столбца уникального ключа форма df1 имеет вид (12, 11)
2-й кадр данных, указанный ниже
кадр данных df2 состоит из SaleDate столбец в качестве столбца уникального ключа
Форма df2 имеет вид (2,19)
Но размерностькаждый фрейм данных отличается.
Как-то мне нужно объединить 2 фрейма данных на основе нового столбца [месяц-год], который можно получить из SaleDate, и добавить ту же цену мочевины для всего месяца соответствующего года.,
Ожидаемое упоминание ниже
Фрейм данных df3 состоит из ежемесячных ureaprice для каждого необработанного в фрейме данных Форма нового фрейма данных(13,11)
*** Фактический df1 состоит из 2 миллионов записей, а df2 состоит из 360 записей.
Я попытался объединить два фрейма данных с левым соединением, чтобы получить вывод выше,Но не смог этого добиться.
import pandas as pd # Import Pandas for data manipulation using dataframes
df1['month_year']=pd.to_datetime(df1['SaleDate']).dt.to_period('M')
df2['month_year'] = pd.to_datetime(df2['SaleDate']).dt.to_period('M')
df1 = pd.DataFrame({'Factory': ['MF0322','MF0657','MF0300','MF0790'],
'SaleDate': ['2013-02-07','2013-03-07','2013-06-07','2013-05-07']
'month-year':['2013-02','2013-03','2013-06','2013-05']})
df2 = pd.DataFrame({'Price': ['398.17','425.63','398.13','363','343.33','325.13'],
'Month': ['2013-01-01','2013-02-01','2013-03-01','2013-04-01','2013-05-01','2013-06-01']
'month-year':['2013-01','2013-02','2013-03','2013-04','2013-05','2013-06']})
Конечный фрейм данных
s1 = pd.merge(df1, df2, how='left', on=['month_year'])
Все значения, относящиеся к цене мочевины, равны "NaN".
Надеемся получить консультацию специалиста по этому вопросу.