2013-08-21 32 views
2

我有以下的代码工作:如何在计算中直接使用熊猫日期时间索引?

table['CALC_DOM']=table.index 
table['CALC_DOM']=table['END_DATE']-['CALC_DOM'] 

不应该有更好的方式来直接从table.index转换?像:

table['CALC_DOM']=table.index 
table['CALC_DOM']=table['END_DATE']-(table.index()) 

我曾尝试使用
table.index.get_values

table.index.date

...但我得到的是:
TypeError: incompatible type [object] for a datetime/timedelta operation

回答

4

非常接近!

In [1]: df = DataFrame(randn(5,2),index=date_range('20130101',periods=5)) 

In [3]: df['date'] = Timestamp('20130102') 

In [4]: df 
Out[4]: 
        0   1    date 
2013-01-01 2.406932 -0.313473 2013-01-02 00:00:00 
2013-01-02 0.034162 -0.708450 2013-01-02 00:00:00 
2013-01-03 -1.585031 0.587243 2013-01-02 00:00:00 
2013-01-04 1.454818 1.089208 2013-01-02 00:00:00 
2013-01-05 -0.778016 -0.994242 2013-01-02 00:00:00 

In [5]: df['td'] = df['date']-df.index.to_series() 

In [6]: df 
Out[6]: 
        0   1    date    td 
2013-01-01 2.406932 -0.313473 2013-01-02 00:00:00 1 days, 00:00:00 
2013-01-02 0.034162 -0.708450 2013-01-02 00:00:00   00:00:00 
2013-01-03 -1.585031 0.587243 2013-01-02 00:00:00 -1 days, 00:00:00 
2013-01-04 1.454818 1.089208 2013-01-02 00:00:00 -2 days, 00:00:00 
2013-01-05 -0.778016 -0.994242 2013-01-02 00:00:00 -3 days, 00:00:00 
+0

我要保持它,直到我得到它!感谢所有的帮助! – dartdog

+0

NP ....顺便说一句...你宁愿使用每日构建! – Jeff

+0

似乎很明显(但我无法得到它)! –

相关问题