python - 查找 pandas 中两个日期之间差异的最简单方法

标签 python pandas dataframe time-series multi-index

我试图找出多索引数据框中两个日期之间的差异,这是数据透视表操作的结果。

数据框包含三列。第一个是测量,第二个是结束日期,第三个是开始日期

我已经能够成功地将第三个多索引列添加到数据框中,但只能使结果到达单元格零

Pt["min"]["start_date"] = 0 但是当我尝试减去两个日期时,出现字符串错误并将 .Dt.Days 附加到每列结果的末尾也出现错误。

查找多索引 pandas 数据框中两个日期之间的天数差异的最简单方法是什么?

最佳答案

您可以通过元组在列中选择Multiindex并减去列:

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

如果需要输出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

关于python - 查找 pandas 中两个日期之间差异的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38192080/

相关文章:

python - 多项式的 Pandas 外推

Python Plotly - 多个下拉图,每个都有子图

python - 使用多索引作为列

python - 使用 python 对多索引表中的行值求和

python - 在复制其他列数据的同时拆分一列中的行中的值

pandas - 转置数据框后的列名称

python - 在散点图中,我想自动填充轴

python - Pandas 按周时间序列和按月分组

python - 在 pandas.drop_duplicates 之后重建索引

python - 使用 Python 舍入到最接近的 0.05