Я попытался объединить два кадра данных, используя pd.concat([df1, df2], axis = 1)
, однако это не позволяет сохранить все имена столбцов в df1.
import pandas as pd
from datetime import timedelta
df = pd.DataFrame({
'date': ['2001-02-01','2001-02-02','2001-02-03', '2001-02-04'],
'future_date': ['2001-02-01','2001-02-02','2001-02-03', '2001-02-04'],
'x Value': [100, 200, 300, 400],
'x1 Value': [100, 200, 400, 400],
'x2 Value': [100, 300, 300, 400],
'xN Value': [200, 200, 300, 400]})
df2 = (df1['future_date'] + pd.Timedelta(5, unit='days')).to_frame()
pd.concat([df1, df2], axis = 1).tail(10)
Когда я возвращаю pd.concat([df1, df2], axis = 1).tail(10)
, я получаю только значения столбца future_date
.
Желаемый фрейм данных:
future_date date x Value x1 Value x2 Value xN Value
0 2001-02-01 2001-02-01 100 100 100 200
1 2001-02-02 2001-02-02 200 200 300 200
2 2001-02-03 2001-02-03 300 400 300 300
3 2001-02-04 2001-02-04 400 400 400 400
4 2001-02-05
5 2001-02-06
6 2001-02-07
7 2001-02-08
Я также пытался
new_df = pd.concat([df2, df1(columns=df1.columns.tolist())], ignore_index=True)
TypeError: 'DataFrame' object is not callable