我有一个数据框:
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]')
如何让它忽略日期列?
答案 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()