一、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

3.指定列的顺序  

  df_data = {"公式代码":gsCode, "股票市场":gpMarket, "股票代码":gpCode, "日期":signalDate, "新接口":mField, "老接口":mFieldOnline}
  col = ['公式代码','股票市场','股票代码','日期','新接口','老接口']
  df = pd.DataFrame(data=df_data,columns=col)

二、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 groupby、pandas.core.groupby.GroupBy.nth

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

  gb = df_entrydate.groupby('gpcode')  #按gpcode分组

  ret = gb.nth(0)  #取groupby之后的第1组数据

4.DataFrame取值

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

    res= dfQuery.ix[index]

  ②取一段数据块(iloc, loc)

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

     

    2.

    

5.DataFrame修改值

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

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

  ②df_stopdate['date'][1]= '2016-01-01'

   df_stopdate['date'] = '2016-01-01'

6.DataFrame设置索引(set_index)

  ①重置索引(reset_index)

    df_return = df_return.reset_index()

  ②设置索引(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)

7.DataFrame取一列索引的值

  ①一重索引取值

    df.index.tolist()

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

    dfQuery.index.get_level_values('gpcode')

8.DataFrame删除

  ① 某一列(del)

  del(df_entrydate["gpcode"])

  ② 某一列(drop、axis=1)

  df = df.drop(['col1','col2'],axis=1)

  ③ 某一行(drop、axis=0)

  df = df.drop([0],axis=0) #删除第一行

9.DataFrame的某一列转换类型

  prit dfQuery.dtypes

  

  pandas中没有"string",string类型的被存为object。

  将date列转换成datetime64类型

  import numpy as np

  dfQuery['date'] = dfQuery['date'].astype(np.dtype("datetime64"))

  print dfQuery.dtypes

  

未完待续。。。

其他操作参见:http://www.cnblogs.com/chaosimple/p/4153083.html

转载于:https://www.cnblogs.com/SZxiaochun/p/6290514.html

DataFrame的构建及一些操作相关推荐

  1. Spark15:Spark SQL:DataFrame常见算子操作、DataFrame的sql操作、RDD转换为DataFrame、load和save操作、SaveMode、内置函数

    前面我们学习了Spark中的Spark core,离线数据计算,下面我们来学习一下Spark中的Spark SQL. 一.Spark SQL Spark SQL和我们之前讲Hive的时候说的hive ...

  2. python pandas dataframe 行列选择,切片操作 原创 2017年02月15日 21:43:18 标签: python 30760 python pandas dataframe

    python pandas dataframe 行列选择,切片操作 原创 2017年02月15日 21:43:18 标签: python / 30760 编辑 删除 python pandas dat ...

  3. python dataframe 列_python pandas库中DataFrame对行和列的操作实例讲解

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

  4. LEAP能源供应转换、能源需求及碳排放预测中的基础数据搜集及处理、能源平衡表核算、模型框架构建、模型操作、情景设计、结果分析、优化、预测结果不确定性分析

    采用部门分析法建立的LEAP(Long Range Energy Alternatives Planning System/ Low emission analysis platform,长期能源可替 ...

  5. flutter 布局 Stack Positioned的混合操作 两个组件Container重叠 构建背景圆角操作 类似css的relative

    flutter 布局 Stack Positioned的混合操作 两个组件Container重叠 构建背景圆角操作 首先看一下需求 需要在这里加一个背景圆角,涉及到两个组件Container的重叠 我 ...

  6. Pytorch ——基础指北_肆 [构建数据集与操作数据集]

    Pytorch --基础指北_肆 系列文章目录 Pytorch --基础指北_零 Pytorch --基础指北_壹 Pytorch --基础指北_贰 Pytorch --基础指北_叁 文章目录 Pyt ...

  7. KD-tree的原理以及构建与查询操作的python实现

    原文地址http://blog.csdn.net/u010551621/article/details/44813299#comments 前几天小组讨论会上展示了kd-tree(k-dimensio ...

  8. Tekton构建Springboot项目操作手册

    Tekton构建前后端项目操作手册--本地Harbor仓库版本 概述 前端Vue项目,后端Springboot项目,后端项目使用Dubbo+Zookeeper+PostgreSQL框架. 镜像版本,本 ...

  9. 使用Spark中DataFrame的语法与SQL操作,对人类数据进行处理,比较学历与离婚率的关系

    简介 整理Kaggle上的人类信息数据 Machine-Learning-Databases,这个数据集已经有二十多年的历史,虽然历史久远,但是格式明确,是比较好的入门数据集. 通过Spark中的Da ...

最新文章

  1. 转载 - 背景透明,文字不透明【学习】
  2. 你只管打开清华小姐姐总结的Python学习知识手册 ,剩下的交给「卧槽」
  3. 机器学习003-Kernel
  4. 《c语言从入门到精通》看书笔记——第13章 预处理
  5. java.util中,util是什么意思
  6. 计算机的服务如何还原,电脑怎么样还原到出厂设置
  7. JQuery EasyUI DataGrid 、tree查询
  8. P3-weixin-2.0.1 版本发布,JAVA微信插件框架
  9. linux history原理,linux history(命令历史)
  10. django2.0media用户上传文件配置及使用方法
  11. 东芝笔记本linux系统安装驱动,最详实解决方案 笔记本安装驱动指南!
  12. 网购中7天无理由退货、运费险及退货退款流程图
  13. VoLTE 信令分析手册
  14. 如何快速搭建一个简单图像搜索引擎
  15. 服务器虚拟打印机为什么经常打打不,打印机虚拟论文,关于制作PDF打印服务器相关参考文献资料-免费论文范文...
  16. Python音频处理,录制播放
  17. 如何做一名优秀的博士生-施一公
  18. 【计算机组成原理与体系结构】硬件系统概述
  19. 视频转gif(二):后端,云函数nodejs实现多图转gif
  20. 计算机内部网络连接,局域网内电脑连不上网络怎么办

热门文章

  1. “行业爆点可期,成本过高仍然是难题”年终盘点之激光雷达
  2. 在PyCharm中自动添加文件头、时间日期等信息
  3. webpack基础教程:(二)
  4. 【Win 10 应用开发】导入.pfx证书
  5. linux   find acm time
  6. json解析库go-simplejson使用
  7. NettyMina (转)
  8. jquery 插件 分析
  9. 再学C++ Primer(9)-类
  10. 7-2 修理牧场 (25 分)