Python 找出大熊猫两个日期之间差异的最简单方法
我试图找出多索引数据框中两个日期之间的差异,这是透视表操作的结果 数据框包含三列。第一个是Python 找出大熊猫两个日期之间差异的最简单方法,python,pandas,dataframe,time-series,multi-index,Python,Pandas,Dataframe,Time Series,Multi Index,我试图找出多索引数据框中两个日期之间的差异,这是透视表操作的结果 数据框包含三列。第一个是测量,第二个是结束日期,第三个是开始日期 我已经能够成功地将第三个多索引列添加到数据帧中,但仅使结果达到单元格零 Pt[“min”][“start_date”]=0,但当我尝试减去这两个日期时,我得到一个字符串错误,并在每列末尾追加.Dt。Days也会导致错误 在多索引数据框中查找两个日期之间天数差异的最简单方法是什么?您可以通过元组在列中选择多索引,然后减去列: print (df) a
测量
,第二个是结束日期
,第三个是开始日期
我已经能够成功地将第三个多索引列添加到数据帧中,但仅使结果达到单元格零
Pt[“min”][“start_date”]=0,但当我尝试减去这两个日期时,我得到一个字符串错误,并在每列末尾追加.Dt。Days
也会导致错误
在多索引数据框中查找两个日期之间天数差异的最简单方法是什么?您可以通过
元组在列中选择多索引
,然后减去列:
print (df)
a
meas end start
0 7 2015-04-05 2015-04-01
1 8 2015-04-07 2015-04-02
2 9 2015-04-14 2015-04-04
#if dtypes not datetime
df[('a','end')] = pd.to_datetime(df[('a','end')])
df[('a','start')] = pd.to_datetime(df[('a','start')])
df[('a','diff')] = df[('a','end')] - df[('a','start')]
print (df)
a
meas end start diff
0 7 2015-04-05 2015-04-01 4 days
1 8 2015-04-07 2015-04-02 5 days
2 9 2015-04-14 2015-04-04 10 days
如果需要输出:
df[('a','diff')] = (df[('a','end')] - df[('a','start')]).dt.days
print (df)
a
meas end start diff
0 7 2015-04-05 2015-04-01 4
1 8 2015-04-07 2015-04-02 5
2 9 2015-04-14 2015-04-04 10