一、DataFrame构建

1.用多个列表构建

#构建DataFrame

#self._stkpool_uni、codes、end_date(这些list用append填充值,保证各个list中元素个数一致)
        dfData = {"STK_UNI_CODE":self._stkpool_uni, "STK_CODE":codes, "END_DATE":end_date,
                  "SCORE_FAC":score, "DIS_FAC":descri, "RAT_FAC":star, "MAC_FAC":mac}
        df = pd.DataFrame(data=dfData)

2.用一个列表构建(其中列表元素为dict,dict的值来自tuple)

  findata_list = []              #定义一个空list
   for res in query_Object:          #res是元组
            dict_fin = {}             #定义一个空dict
            for arr in range(0,len(res)):       #for循环元组
                dict_fin[columns[arr]] = res[arr]   #给dict填值
            findata_list.append(dict_fin)      #给list填值
       dfQuery = pd.DataFrame(findata_list)   #通过list构建DataFrame

二、DataFrame一系列小操作总结

1.DataFrame排序

  ①.根据列值排序(sort_values)

    df_return = df_return.sort_values(['date', 'gpcode'], ascending=[0,1])  # 排序,0倒序,1正序

  ②.根据索引值排序(sort_index)

    dfSort = dfSort.sort_index(ascending=False)

2.DataFrame query

  strsql = "index <= '{0}'".format(date)
      df_entrydate = dfSort.query(strsql)

3.DataFrame取值

  ①根据已知索引取值(ix)

    res= dfQuery.ix[index]

  ②取一段数据块(iloc)

    ret = copy.copy(df_entrydate.iloc[:1])   #取dataframe第一行数据

4.DataFrame更改某列的某一个值(loc[索引值,列名])

  df_stopdate.loc[df_stopdate.index, "date"] = dict_stopdate[key]

5.DataFrame设置索引(set_index)

  ①df_return = df_return.set_index('a', 'b')

  ②

  import copy
  ret = copy.copy(df_entrydate.iloc[:1])   #取dataframe第一行数据
      ret.index=[[gpcode],[date]]
      ret.index.names=["gpcode","date"]
      df_return = df_return.append(ret)

6.DataFrame取一列索引的值

  ①一重索引取值

    df.index.tolist()

  ②多重索引取值(df.index.get_level_values('列名'))

    dfQuery.index.get_level_values('gpcode')

7.DataFrame删除某一列(del)

  del(df_entrydate["gpcode"])

未完待续。。。

DataFrame的构建及一些操作的更多相关文章

  1. Jenkins环境搭建(5)-与Jmeter完成参数化构建和构建前删除操作

    此前介绍过几篇关于Jenkins配置相关的文章,今天再来说说参数化构建和构建前删除已有的报告.在实际测试过程中,是需要测试几套环境的,不使用参数化构建的话,构建脚本就比较麻烦了:自然,已生成的报告,不 ...

  2. [转]python中pandas库中DataFrame对行和列的操作使用方法

    转自:http://blog.csdn.net/u011089523/article/details/60341016 用pandas中的DataFrame时选取行或列: import numpy a ...

  3. pandas 学习 第7篇:DataFrame - 数据处理(应用、操作索引、重命名、合并)

    DataFrame的这些操作和Series很相似,这里简单介绍一下. 一,应用和应用映射 apply()函数对每个轴应用一个函数,applymap()函数对每个元素应用一个函数: DataFrame. ...

  4. python中pandas库中DataFrame对行和列的操作使用方法

    用pandas中的DataFrame时选取行或列: import numpy as np import pandas as pd from pandas import Sereis, DataFram ...

  5. Mybatis项目构建和CURD操作

    Mybatis入门 一.使用SqlSession对象创建Dao接口代理对象进行持久化操作 1.使用maven构建java项目 2.修改pom.xml配置,添加所需jar包坐标 <?xml ver ...

  6. Spark操作dataFrame进行写入mysql,自定义sql的方式

    业务场景: 现在项目中需要通过对spark对原始数据进行计算,然后将计算结果写入到mysql中,但是在写入的时候有个限制: 1.mysql中的目标表事先已经存在,并且当中存在主键,自增长的键id 2. ...

  7. SparkR(R on Spark)编程指南 含 dataframe操作 2.0

    SparkR(R on Spark)编程指南 Spark  2015-06-09 28155  1评论 下载为PDF    为什么不允许复制 关注iteblog_hadoop公众号,并在这里评论区留言 ...

  8. SparkR(R on Spark)编程指南 含 dataframe操作

    SparkR(R on Spark)编程指南 Spark  2015-06-09 28155  1评论 下载为PDF    为什么不允许复制 关注iteblog_hadoop公众号,并在这里评论区留言 ...

  9. Spark-SQL之DataFrame操作大全

    Spark SQL中的DataFrame类似于一张关系型数据表.在关系型数据库中对单表或进行的查询操作,在DataFrame中都可以通过调用其API接口来实现.可以参考,Scala提供的DataFra ...

随机推荐

  1. SQLServer 分组查询相邻两条记录的时间差

    原文:SQLServer 分组查询相邻两条记录的时间差 首先,我们通过数据库中表的两条记录来引出问题,如下图 以上为一个记录操作记录的表数据.OrderID为自增长列,后面依次为操作类型,操作时间,操 ...

  2. postal邮件发送(二):Email headers,附件,图片介绍

    接上篇 http://www.cnblogs.com/mybky/p/5690567.html 1.邮件headers 除此之外,还有Reply-To,用于回复邮箱 2.邮件带有图片 邮件发送图片,p ...

  3. C#编程实践–产假方案优化版

    前言 既然作为一个踏踏实实学习技术的人,就要有一颗谦卑.虚心和追求卓越的心,我不能一次就写出很完美的代码,但我相信,踏踏实实一步一步的优化,代码就可以变得趋近完美,至少在某一个特定场景下相对完美,这和 ...

  4. Android项目---webView

    之前用webView的时候,只知道它可以加载出html页面,竟然不知道,它也可以与js进行交互. WebView是一个网络视图,能加载显示网页,可以将它看作一个浏览器.它使用WebKit渲染引擎加载显 ...

  5. Ubuntu中的.bashrc文件

    /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置./etc/bashrc:为每一个运 ...

  6. Windows服务小技巧

    Windows服务小技巧 阅读目录 开始 将Windows服务转变为控制台程序 注册服务为自动启动服务 注册服务时设置服务的依赖关系 添加自定义命令行参数 自定义命令行参数演示 系列链接 伴随着研究W ...

  7. MongoDB:锁机制

    --1 MongoDB 使用的锁 MongoDB 使用的是“readers-writer”锁, 可以支持并发但有很大的局限性,当一个读锁存在,许多读操作可以使用这把锁,然而, 当一个写锁的存在,一个单 ...

  8. Object-c学习之路(oc点语法)

    最近想学习object-c了自己上网找了一些资料自学了一下:oc中的点语法是为了java.c等的程序员更好的上手而添加的功能. 主函数 // // main.m // OcTest1 // // Cr ...

  9. xTree学习

    1.XTREE简介: XTREE是一个基于AJAX实现的树形菜单.它的原理就是每次都只加载当前结点下的所有结点,而对开发人员来说,就是只需要按一定的格式,生成一段XML代码.XTREE可以自己定制每个 ...

  10. 转-Linux系统下安装rz/sz命令及使用说明

    时间: 2013/03/20 | 分类: Linux常用命令 | 作者: 李坏 | 浏览:39,146 | 评论:5   对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务 ...