Python使用pandas对数据进行差分运算的方法

如下所示:

>>> import pandas as pd
>>> import numpy as np

# 生成模拟数据
>>> df = pd.DataFrame({'a':np.random.randint(1, 100, 10),\
     'b':np.random.randint(1, 100, 10)},\
    index=map(str, range(10)))
>>> df
    a    b
0  21  54
1  53  28
2  18  87
3  56  40
4  62  34
5  74  10
6   7  78
7  58  79
8  66  80
9  30  21

# 纵向一阶差分,当前行减去上一行
>>> df.diff()
      a      b
0   NaN   NaN
1  32.0 -26.0
2 -35.0  59.0
3  38.0 -47.0
4   6.0  -6.0
5  12.0 -24.0
6 -67.0  68.0
7  51.0   1.0
8   8.0   1.0
9 -36.0 -59.0

# 横向一阶差分,当前列减去左边的列
>>> df.diff(axis=1)
    a      b
0 NaN  33.0
1 NaN -25.0
2 NaN  69.0
3 NaN -16.0
4 NaN -28.0
5 NaN -64.0
6 NaN  71.0
7 NaN  21.0
8 NaN  14.0
9 NaN  -9.0

# 纵向二阶差分
>>> df.diff(periods=2)
      a      b
0   NaN   NaN
1   NaN   NaN
2  -3.0  33.0
3   3.0  12.0
4  44.0 -53.0
5  18.0 -30.0
6 -55.0  44.0
7 -16.0  69.0
8  59.0   2.0
9 -28.0 -58.0

# 纵向二阶差分,丢弃空值
>>> df.diff(periods=2).dropna()
      a     b
2  -3.0  33.0
3   3.0  12.0
4  44.0 -53.0
5  18.0 -30.0
6 -55.0  44.0
7 -16.0  69.0
8  59.0   2.0
9 -28.0 -58.0

以上这篇Python使用pandas对数据进行差分运算的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python 计算数据偏差和峰度的方法

    numpy.set_printtoptions(edgeitems=5):值过多,显示前5个和后5个 偏度:衡量随机分布的不均衡性,偏度=0,数值相对均匀的分布在两侧 峰度:概率密度在均值处峰值高低的特征 python计算数据均值.标准差.偏度.峰度: import numpy as np from scipy import stats x = np.random.randn(10000) mu = np.mean(x, axis=0) sigma = np.std(x, axis=0) ske

  • python 计算平均平方误差(MSE)的实例

    我们要编程计算所选直线的平均平方误差(MSE), 即数据集中每个点到直线的Y方向距离的平方的平均数,表达式如下: MSE=1n∑i=1n(yi−mxi−b)2 最初麻烦的写法 # TODO 实现以下函数并输出所选直线的MSE def calculateMSE(X,Y,m,b): in_bracket = [] for i in range(len(X)): num = Y[i] - m*X[i] - b num = pow(num,2) in_bracket.append(num) all_su

  • tensorflow输出权重值和偏差的方法

    使用tensorflow 训练模型时,我们可以使用 tensorflow自带的 Save模块 tf.train.Saver()来保存模型,使用方式很简单 就是在训练完模型后,调用saver.save()即可 saver = tf.train.Saver(write_version=tf.train.SaverDef.V2) saver.save(sess, save_dir+"crfmodel.ckpt", global_step=0) 重新载入模型 saver = tf.train.

  • Python使用pandas对数据进行差分运算的方法

    如下所示: >>> import pandas as pd >>> import numpy as np # 生成模拟数据 >>> df = pd.DataFrame({'a':np.random.randint(1, 100, 10),\      'b':np.random.randint(1, 100, 10)},\     index=map(str, range(10))) >>> df     a    b 0  21 

  • python使用pandas实现数据分割实例代码

    本文研究的主要是Python编程通过pandas将数据分割成时间跨度相等的数据块的相关内容,具体如下. 先上数据,有如下dataframe格式的数据,列名分别为date.ip,我需要统计每5s内出现的ip,以及这些ip出现的频数. ip date 0 127.0.0.21 15/Jul/2017:18:22:16 1 127.0.0.13 15/Jul/2017:18:22:16 2 127.0.0.11 15/Jul/2017:18:22:17 3 127.0.0.11 15/Jul/2017

  • python 用pandas实现数据透视表功能

    透视表是一种可以对数据动态排布并且分类汇总的表格格式.对于熟练使用 excel 的伙伴来说,一定很是亲切! pd.pivot_table() 语法: pivot_table(data, # DataFrame values=None, # 值 index=None, # 分类汇总依据 columns=None, # 列 aggfunc='mean', # 聚合函数 fill_value=None, # 对缺失值的填充 margins=False, # 是否启用总计行/列 dropna=True,

  • Python实现生成随机数据插入mysql数据库的方法

    本文实例讲述了Python实现生成随机数据插入mysql数据库的方法.分享给大家供大家参考,具体如下: 运行结果: 实现代码: import random as r import pymysql first=('张','王','李','赵','金','艾','单','龚','钱','周','吴','郑','孔','曺','严','华','吕','徐','何') middle=('芳','军','建','明','辉','芬','红','丽','功') last=('明','芳','','民','敏

  • Python使用Pandas对csv文件进行数据处理的方法

    今天接到一个新的任务,要对一个140多M的csv文件进行数据处理,总共有170多万行,尝试了导入本地的MySQL数据库进行查询,结果用Navicat导入直接卡死....估计是XAMPP套装里面全默认配置的MySQL性能不给力,又尝试用R搞一下吧结果发现光加载csv文件就要3分钟左右的时间,相当不给力啊,翻了翻万能的知乎发现了Python下的一个神器包:Pandas(熊猫们?),加载这个140多M的csv文件两秒钟就搞定,后面的分类汇总等操作也都是秒开,太牛逼了!记录一下这次数据处理的过程: 使用

  • Python基于scrapy采集数据时使用代理服务器的方法

    本文实例讲述了Python基于scrapy采集数据时使用代理服务器的方法.分享给大家供大家参考.具体如下: # To authenticate the proxy, #you must set the Proxy-Authorization header. #You *cannot* use the form http://user:pass@proxy:port #in request.meta['proxy'] import base64 proxy_ip_port = "123.456.7

  • python使用post提交数据到远程url的方法

    本文实例讲述了python使用post提交数据到远程url的方法.分享给大家供大家参考.具体如下: import sys, urllib2, urllib zipcode = "S2S 1R8" url = 'http://www.yoursiteweb.com/getForecast' data = urllib.urlencode([('query', zipcode)]) req = urllib2.Request(url) fd = urllib2.urlopen(req, d

  • python中json格式数据输出的简单实现方法

    主要使用json模块,直接导入import json即可. 小例子如下: #coding=UTF-8 import json info={} info["code"]=1 info["id"]=1900 info["name"]='张三' info["sex"]='男' list=[info,info,info] data={} data["code"]=1 data["id"]=190

  • Python中json格式数据的编码与解码方法详解

    本文实例讲述了Python中json格式数据的编码与解码方法.分享给大家供大家参考,具体如下: python从2.6版本开始内置了json数据格式的处理方法. 1.json格式数据编码 在python中,json数据格式编码使用json.dumps方法. #!/usr/bin/env python #coding=utf8 import json users = [{'name': 'tom', 'age': 22}, {'name': 'anny', 'age': 18}] #元组对象也可以

  • python输入整条数据分割存入数组的方法

    通过手动输入数据,将数据分成几部分存入数组中 import os import sys def test(): brick = raw_input("input:") brick = brick.split(",") print brick test() 输入的数据是用逗号分割开的,所以直接使用"split(",")"拆分. 以上这篇python输入整条数据分割存入数组的方法就是小编分享给大家的全部内容了,希望能给大家一个参考

随机推荐