DataFrame的构建及一些操作
一、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的构建及一些操作的更多相关文章
- Jenkins环境搭建(5)-与Jmeter完成参数化构建和构建前删除操作
此前介绍过几篇关于Jenkins配置相关的文章,今天再来说说参数化构建和构建前删除已有的报告.在实际测试过程中,是需要测试几套环境的,不使用参数化构建的话,构建脚本就比较麻烦了:自然,已生成的报告,不 ...
- [转]python中pandas库中DataFrame对行和列的操作使用方法
转自:http://blog.csdn.net/u011089523/article/details/60341016 用pandas中的DataFrame时选取行或列: import numpy a ...
- pandas 学习 第7篇:DataFrame - 数据处理(应用、操作索引、重命名、合并)
DataFrame的这些操作和Series很相似,这里简单介绍一下. 一,应用和应用映射 apply()函数对每个轴应用一个函数,applymap()函数对每个元素应用一个函数: DataFrame. ...
- python中pandas库中DataFrame对行和列的操作使用方法
用pandas中的DataFrame时选取行或列: import numpy as np import pandas as pd from pandas import Sereis, DataFram ...
- Mybatis项目构建和CURD操作
Mybatis入门 一.使用SqlSession对象创建Dao接口代理对象进行持久化操作 1.使用maven构建java项目 2.修改pom.xml配置,添加所需jar包坐标 <?xml ver ...
- Spark操作dataFrame进行写入mysql,自定义sql的方式
业务场景: 现在项目中需要通过对spark对原始数据进行计算,然后将计算结果写入到mysql中,但是在写入的时候有个限制: 1.mysql中的目标表事先已经存在,并且当中存在主键,自增长的键id 2. ...
- SparkR(R on Spark)编程指南 含 dataframe操作 2.0
SparkR(R on Spark)编程指南 Spark 2015-06-09 28155 1评论 下载为PDF 为什么不允许复制 关注iteblog_hadoop公众号,并在这里评论区留言 ...
- SparkR(R on Spark)编程指南 含 dataframe操作
SparkR(R on Spark)编程指南 Spark 2015-06-09 28155 1评论 下载为PDF 为什么不允许复制 关注iteblog_hadoop公众号,并在这里评论区留言 ...
- Spark-SQL之DataFrame操作大全
Spark SQL中的DataFrame类似于一张关系型数据表.在关系型数据库中对单表或进行的查询操作,在DataFrame中都可以通过调用其API接口来实现.可以参考,Scala提供的DataFra ...
随机推荐
- 关于 js 中的 call 和 apply使用理解
关于 js 中的 call 和 apply使用理解 在学习新的东西时候,碰到以前看过而又不理解,或则记忆不深的地方不妨回头看看书里知识点,有助于加深理解.正所谓--温故而知新. 废话不多说,直接上代码 ...
- 通过如何通过js实现复制粘贴功能
在ie中window.clipboardData(剪切板对象)是可以被获取,所以利用这个方法我们可以实现在IE当中复制粘贴的功能,demo如下! <html> <head> & ...
- 【转】浏览器DNS 预取读技术的危害
今天中午在http://news.ycombinator.com/news看到一篇文章标题: Saved 10 billion DNS queries per month by disabling D ...
- 使用Oracle Wrap工具加密你的代码
Oracle提供Wrap工具,可以用于加密你的Package等.不过需要注意的是,加密后的代码无法解密,你需要保管好你的源代码. 以下是个例子: 1.源代码 create or replace fun ...
- 使用vs2010复制粘贴代码时特别卡用一段时间就特别卡重启也没用
vs2010编写代码一段时间后复制粘贴特别卡,下拉条也特别卡,这个状况困扰了我两个月,实在忍不住了,去网上搜了搜 有网友说是快捷键冲突,所以我就把其他程序结束了,结果莫名奇妙的瞬间就不卡了.最终弄明白 ...
- OpenGL Development Cookbook chapter7部分翻译
让我们通过以下简单步骤开始我们的配方: 1.通过读取外部的体数据文件,并通过该加载数据集数据转换成一个OpenGL纹理.也使硬件的mipmap生成.通常情况下,从使用一个横截面中获得的体积数据文件存储 ...
- 【WCF系列一】WCF入门教程(图文) VS2012
WCF的全称是Windows Communication Foundation,从英文名称上看,WCF就是基于Windows下一种通讯的基础架构.利用WCF能够实现基于Windows下的各种通讯技术的 ...
- 同源策略与JSONP
[CORS:跨域资源共享] 同源策略与JSONP Web API普遍采用面向资源的REST架构,将浏览器最终执行上下文的JavaScript应用Web API消费者的重要组成部分.“同源策略”限制了J ...
- C# list distinct操作
使用代理实现对C# list distinct操作 范型在c#编程中经常使用,而经常用list 去存放实体集,因此会设计到对list的各种操作,比较常见的有对list进行排序,查找,比较,去重复. ...
- query 原理
query原理的简单分析,让你扒开jquery的小外套. 引言 最近LZ还在消化系统原理的第三章,因此这部分内容LZ打算再沉淀一下再写.本次LZ和各位来讨论一点前端的内容,其实有关jquery,在 ...