Pandas常用函数diff和shift函数学习使用
Pandas在数据处理分析中有着很重要的作用,它有两种核心的数据结构分别是DataFrame和Series,这里主要是基DataFrame来简单学习一下它的两个常用操作函数:diff和shift。因为理解起来比较简单这里就不再累赘了,相关的内容都已经放在代码里面了,下面是具体内容:#!usr/bin/env python#encoding:utf-8from __future_...
·
Pandas在数据处理分析中有着很重要的作用,它有两种核心的数据结构分别是DataFrame和Series,这里主要是基DataFrame来简单学习一下它的两个常用操作函数:diff和shift。因为理解起来比较简单这里就不再累赘了,相关的内容都已经放在代码里面了,下面是具体内容:
#!usr/bin/env python
#encoding:utf-8
from __future__ import division
'''
__Author__:沂水寒城
功能:Pandas diff和shift函数学习
'''
'''
diff函数是用来将数据进行某种移动之后与原数据进行比较得出差异数据
函数形式:
DataFrame.diff(periods=1, axis=0)
参数解释:
periods:移动的幅度
axis:移动的轴(按列移动或者按行移动)
shift函数是对数据进行移动的操作
函数形式:
DataFrame.shift(periods=1, freq=None, axis=0)
参数解释:
periods:移动的幅度
axis:移动的轴(按列移动或者按行移动)
shift(n): n>0,表述数据框向下移动,索引不会移动,只有数据移动,若移动后数据缺失则填充为NaN
n<0,表述数据框向上移动,索引不会移动,只有数据移动,若移动后数据缺失则填充为NaN
'''
import numpy as np
import pandas as pd
def testFunc():
'''
diff和shift函数学习
'''
data=np.arange(36).reshape(12,3)
print 'data:'
print data
df=pd.DataFrame(data)
print 'df:'
print df.head(5)
print df.info()
print '-*'*40
print df.diff()
print '-*'*40
print df-df.shift()
print '-*'*40
print df-df.shift()==df.diff() #差分操作的两种等价操作
print '-*'*40
print df.shift(1)
print '-*'*40
print df.shift(-1)
print '-*'*40
print df.shift(1,axis=1)
print '-*'*40
print df.shift(-1,axis=1)
if __name__=='__main__':
testFunc()
结果如下:
data:
[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]
[12 13 14]
[15 16 17]
[18 19 20]
[21 22 23]
[24 25 26]
[27 28 29]
[30 31 32]
[33 34 35]]
df:
0 1 2
0 0 1 2
1 3 4 5
2 6 7 8
3 9 10 11
4 12 13 14
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 12 entries, 0 to 11
Data columns (total 3 columns):
0 12 non-null int32
1 12 non-null int32
2 12 non-null int32
dtypes: int32(3)
memory usage: 216.0 bytes
None
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
0 1 2
0 NaN NaN NaN
1 3.0 3.0 3.0
2 3.0 3.0 3.0
3 3.0 3.0 3.0
4 3.0 3.0 3.0
5 3.0 3.0 3.0
6 3.0 3.0 3.0
7 3.0 3.0 3.0
8 3.0 3.0 3.0
9 3.0 3.0 3.0
10 3.0 3.0 3.0
11 3.0 3.0 3.0
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
0 1 2
0 NaN NaN NaN
1 3.0 3.0 3.0
2 3.0 3.0 3.0
3 3.0 3.0 3.0
4 3.0 3.0 3.0
5 3.0 3.0 3.0
6 3.0 3.0 3.0
7 3.0 3.0 3.0
8 3.0 3.0 3.0
9 3.0 3.0 3.0
10 3.0 3.0 3.0
11 3.0 3.0 3.0
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
0 1 2
0 False False False
1 True True True
2 True True True
3 True True True
4 True True True
5 True True True
6 True True True
7 True True True
8 True True True
9 True True True
10 True True True
11 True True True
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
0 1 2
0 NaN NaN NaN
1 0.0 1.0 2.0
2 3.0 4.0 5.0
3 6.0 7.0 8.0
4 9.0 10.0 11.0
5 12.0 13.0 14.0
6 15.0 16.0 17.0
7 18.0 19.0 20.0
8 21.0 22.0 23.0
9 24.0 25.0 26.0
10 27.0 28.0 29.0
11 30.0 31.0 32.0
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
0 1 2
0 3.0 4.0 5.0
1 6.0 7.0 8.0
2 9.0 10.0 11.0
3 12.0 13.0 14.0
4 15.0 16.0 17.0
5 18.0 19.0 20.0
6 21.0 22.0 23.0
7 24.0 25.0 26.0
8 27.0 28.0 29.0
9 30.0 31.0 32.0
10 33.0 34.0 35.0
11 NaN NaN NaN
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
0 1 2
0 NaN 0.0 1.0
1 NaN 3.0 4.0
2 NaN 6.0 7.0
3 NaN 9.0 10.0
4 NaN 12.0 13.0
5 NaN 15.0 16.0
6 NaN 18.0 19.0
7 NaN 21.0 22.0
8 NaN 24.0 25.0
9 NaN 27.0 28.0
10 NaN 30.0 31.0
11 NaN 33.0 34.0
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
0 1 2
0 1.0 2.0 NaN
1 4.0 5.0 NaN
2 7.0 8.0 NaN
3 10.0 11.0 NaN
4 13.0 14.0 NaN
5 16.0 17.0 NaN
6 19.0 20.0 NaN
7 22.0 23.0 NaN
8 25.0 26.0 NaN
9 28.0 29.0 NaN
10 31.0 32.0 NaN
11 34.0 35.0 NaN
更多推荐
已为社区贡献104条内容
所有评论(0)