计算序列中值的百分比变化
我有一个数据表,里面有两列。我想知道在什么时刻问题的数量增加了。
In [19]: status
Out[19]:
seconds questions
0 751479 9005591
1 751539 9207129
2 751599 9208994
3 751659 9210429
4 751719 9211944
5 751779 9213287
6 751839 9214916
7 751899 9215924
8 751959 9216676
9 752019 9217533
我需要计算一下“问题”这一列的百分比变化,然后根据这个变化进行排序。但是这样做不行:
status.pct_change('questions').sort('questions').head()
有什么建议吗?
1 个回答
3
试试这个方法:
>>> status['change'] = status.questions.pct_change()
>>> status.sort_values('change', ascending=False)
questions seconds change
0 9005591 751479 NaN
1 9207129 751539 0.022379
2 9208994 751599 0.000203
6 9214916 751839 0.000177
4 9211944 751719 0.000164
3 9210429 751659 0.000156
5 9213287 751779 0.000146
7 9215924 751899 0.000109
9 9217533 752019 0.000093
8 9216676 751959 0.000082
pct_change
可以在 Series 和 DataFrame 上使用,它接受一个整数参数,用来指定你想计算变化的周期数(默认是 1)。
我还假设你想根据 'change'
列进行排序,显示百分比变化最大的在前面……