【发布时间】:2019-11-10 00:53:53
【问题描述】:
我有两个数据框,一个是 Dates,一个是 Values,需要合并。
df_Values = pd.DataFrame({'Resource':['Mechanical','Electrical','Pipelines','Process','Project Management'],
'0':[0.005, 0.005, 0.040, 0.075, 0.005],
'1':[0.005, 0.005, 0.040, 0.075, 0.005],
'2':[0.005, 0.005, 0.040, 0.075, 0.005],
'3':[0.005, 0.005, 0.040, 0.075, 0.005],
'4':[0.005, 0.040, 2000, 2000, 2000],
'5':[0.005, 0.005, float("nan") , 50, float("nan") ],
'6':[float("nan"), 0.005, float("nan"), 50, float("nan")],
'7':[float("nan"), 0.040, float("nan"), 50, float("nan")],
'8':[float("nan"), 0.005, float("nan"), 50, float("nan")],
'9':[float("nan"), 0.040, float("nan"), float("nan"), float("nan")],
'10':[float("nan"), 0.040, float("nan"), float("nan"), float("nan")]})
df_Dates = pd.DataFrame({'Resource':['Mechanical','Electrical','Pipelines','Process','Project Management'],
'0':['2019-01-03', '2019-01-05', '2019-01-08', '2019-03-04', '2019-05-11'],
'1':['2019-01-04', '2019-01-06', '2019-01-09', '2019-03-05', '2019-05-12'],
'2':['2019-01-05', '2019-01-07', '2019-01-10', '2019-03-06', '2019-05-13'],
'3':['2019-01-06', '2019-01-08', '2019-01-11', '2019-03-07', '2019-05-14'],
'4':['2019-01-07', '2019-01-09', '2019-01-12', '2019-03-08', '2019-05-15'],
'5':['2019-01-08', '2019-01-10', float("nan"), '2019-03-09', float("nan")],
'6':[float("nan"), '2019-01-11', float("nan"), '2019-03-10', float("nan")],
'7':[float("nan"), '2019-01-12', float("nan"), '2019-03-11', float("nan")],
'8':[float("nan"), '2019-01-13', float("nan"), '2019-03-12', float("nan")],
'9':[float("nan"), '2019-01-14', float("nan"), float("nan"), float("nan")],
'10':[float("nan"), '2019-01-15', float("nan"), float("nan"), float("nan")]})
我正在尝试将它们组合起来,以便列标题是日期,并且相应的值会合并到数据行中。
像这样:
df_Result = pd.DataFrame({'Resource':['Mechanical','Electrical','Pipelines','Process','Project Management'],
'2019-01-03':[0.005, float("nan"), float("nan"), float("nan"), 0.005],
'2019-01-04':[0.005, float("nan"), float("nan"), 0.075, 0.005],
'2019-01-05':[0.040, float("nan"), float("nan"), 0.075, 0.005],
'2019-01-06':[0.075, float("nan"), float("nan"), 0.075, 0.005],
'2019-01-07':[0.005, float("nan"), float("nan"), 2000, 2000],
'2019-01-08':[float("nan"), float("nan"), 0.040, 50, float("nan")],
'2019-01-09':[float("nan"), float("nan"), 0.040, 50, float("nan")],
'2019-01-10':[float("nan"), 0.005, 0.040, 50, float("nan")],
'2019-01-11':[float("nan"), 0.005, 0.040, 50, float("nan")],
'2019-01-12':[float("nan"), 0.005, 2000, float("nan"), float("nan")],
'2019-01-13':[float("nan"), 0.005, float("nan"), float("nan"), float("nan")]})
关于如何实现这一点的任何想法?
最终目标是在日期内分配这些值。
谢谢,
【问题讨论】:
-
为什么你的 NaN 是字符串?这使它不方便加倍。
-
我会改一下,让它更容易一些。
标签: python pandas date dataframe merge