不能将Pandas pct_change与日期一起使用

时间:2017-12-13 12:43:56

标签: python pandas

我有一个数据框:

                 date  value
0 2017-11-30 13:58:57    901
1 2017-11-30 13:59:41    905
2 2017-11-30 13:59:41    925

这是由:

生成的
import pandas as pd
df = pd.DataFrame.from_items( [('date', ['2017-11-30 13:58:57', '2017-11-30 13:59:41', '2017-11-30 13:59:41']),("value", [901, 905, 925])])
df['date'] =  pd.to_datetime(df['date'])

我想计算两个连续行之间的百分比变化,但是当我使用时:

df.pct_change()

我收到错误:

ufunc true_divide cannot use operands with types dtype('<M8[ns]') and dtype('<M8[ns]')

如何让它忽略日期列?

2 个答案:

答案 0 :(得分:2)

  

如何让它忽略日期列?

这是一个select_dtypes的解决方案,可以通过忽略非数字列来推广到任何数据框 -

df.select_dtypes(include=['number']).pct_change()

      value
0       NaN
1  0.004440
2  0.022099

答案 1 :(得分:0)

我会尝试指定值列。

df[‘pctcng’]=df[‘value’].pct_change()