我有一个带有Datetime列的数据框:
Parcela DS1 DC1 DS0 DC0
P1 2016-04-26 2016-09-26 2016-04-11 2016-09-11
P2 2016-04-26 2016-09-26 2016-04-11 2016-09-11
我尝试使用以下代码创建新列:
df['sem'] = prec[df['DS0'].dt.strftime('%Y-%m%d'):df['DS1'].dt.strftime('%Y-%m-%d')].sum()
其中prec
是另一个具有日期时间索引的数据框,
Datetime prec
2016-04-13 00:00:00 0.0
2016-04-13 00:10:00 0.0
但出现以下错误
Cannot convert input of type <class 'pandas.core.series.Series'> to Timestamp
你能帮我吗?
答案 0 :(得分:1)
您可以通过
进行检查df['sem'] = [prec.loc[x:y,'prec'].sum() for x , y in zip(df['DS0'].dt.strftime('%Y-%m%d'),df['DS1'].dt.strftime('%Y-%m-%d'))]