Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 找出大熊猫两个日期之间差异的最简单方法_Python_Pandas_Dataframe_Time Series_Multi Index - Fatal编程技术网

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