Я думаю, что теоретически вы можете сделать все это в одной строке:
finaldf = (pd.concat([pd.read_csv('data1.csv',
parse_dates={'Date':['Year', 'Month', 'Day']}),
pd.read_csv('data2.csv',
parse_dates={'Date':['Year', 'Month', 'Day']})
[['Date', 'Tweet']]])
.sort_values('Date', ascending=False))
Но для удобства чтения лучше разбить его на несколько строк:
df1 = pd.read_csv('data1.csv', parse_dates={'Date':['Year', 'Month','Day']})
df2 = pd.read_csv('data2.csv', parse_dates={'Date':['Year', 'Month','Day']})
finaldf = (pd.concat([df1, df2[['Date', 'Tweet']]])
.sort_values('Date', ascending=False))
Я думаю, что для того, что вы пытаетесь сделать, главное, о чем нужно прочитать, это аргумент parse_dates
от панд read_csv
и pd.concat
дляобъединить кадры данных
Редактировать : чтобы получить даты в правильном формате, как у вас в выходном примере, вы можете вызвать это после кода выше, используя Series.dt.strftime()
:
finaldf['Date'] = finaldf['Date'].dt.strftime('%d-%b-%y')