python panda::dataframe常用操作
1、条件查询:
result = df.query("((a==1 and b=="x") or c/d < 3))"
print result
2、遍历
a)根据索引遍历
for idx in df.index:
dd = df.loc[idx]
print(dd)
b)按行遍历
for i in range(0, len(df)):
dd = df.iloc[i]
print(dd)
3、对某列求均值
# 对“volume”列求均值
result = df["volume"].mean()
print(result)
4、按照指定列排序
result_df = df.sort_values(by="sales" , ascending=False)
print(result_df)
注意,以上排序,非inplace
5、提取特定行/列
如有数据:
code update_time last_price open_price ... option_gamma option_vega option_theta option_rho
42 HK.02018 2019-04-26 16:08:05 53.70 52.70 ... NaN NaN NaN NaN
15 HK.00151 2019-04-26 16:08:33 6.17 6.21 ... NaN NaN NaN NaN
14 HK.00101 2019-04-26 16:08:05 18.22 18.26 ... NaN NaN NaN NaN
a)按照索引提取
提取索引为42的行和所有列:
result = df.loc[42, :]
print(result)
result:
code update_time last_price open_price ... option_gamma option_vega option_theta option_rho
42 HK.02018 2019-04-26 16:08:05 53.70 52.70 ... NaN NaN NaN NaN
提取索引为15,42的数据, 只需要code和update_time两列:
result = df.loc[[15,42], [0,2]]
print(result)
result:
code update_time
42 HK.02018 2019-04-26 16:08:05
15 HK.00151 2019-04-26 16:08:33
b)按行提取
提取第2行的数据, 所有列:
result = df.iloc[1, :]
print(result)
result:
code update_time last_price open_price ... option_gamma option_vega option_theta option_rho
15 HK.00151 2019-04-26 16:08:33 6.17 6.21 ... NaN NaN NaN NaN
提取前2行的数据, 所有列:
result = df.iloc[0:2, :]
print(result)
result:
code update_time last_price open_price ... option_gamma option_vega option_theta option_rho
42 HK.02018 2019-04-26 16:08:05 53.70 52.70 ... NaN NaN NaN NaN
15 HK.00151 2019-04-26 16:08:33 6.17 6.21 ... NaN NaN NaN NaN
提取1、3行的数据, 只需要code和update_time两列:
result = df.iloc[[0,2], 0:2]
print(result)
result:
code update_time
42 HK.02018 2019-04-26 16:08:05
14 HK.00101 2019-04-26 16:08:05
6、复制列
df['col']=df['col1']+df['col2']
将col1和col2相除的结果加1,放入新的newcol列:
df['newcol']=df['col1']/df['col2']+1
7、重命名列
new_df = df.rename(columns={'oldName1': 'newName1', 'oldName2': 'newName2'})
print(new_df)
# inplace模式
df.rename(columns={'oldName1': 'newName1', 'oldName2': 'newName2'}, inplace=True)
print(df)
python panda::dataframe常用操作的更多相关文章
- 二叉树的python可视化和常用操作代码
二叉树是一个重要的数据结构, 本文基于"二叉查找树"的python可视化 pybst 包, 做了一些改造, 可以支持更一般的"二叉树"可视化. 关于二叉树和二叉 ...
- pyspark dataframe 常用操作
spark dataframe派生于RDD类,但是提供了非常强大的数据操作功能.当然主要对类SQL的支持. 在实际工作中会遇到这样的情况,主要是会进行两个数据集的筛选.合并,重新入库. 首先加 ...
- Python数据类型及常用操作
Python字符串类型 1.用途: 用来记录有描述性的状态.比如:人名,地址等. 2.定义方式: 创建字符串非常简单,在‘ ’,“ ”,‘’‘ ’‘’内一填写一系列的字符例如:msg='hello' ...
- Python字符串的常用操作学习
>>> name = "I love my job!" >>> name.capitalize() #首字母大写 'I love my job! ...
- Python集合的常用操作
字典常用的就是,他的去重. set集合是python的一个基本数据类型. set中的元素是不重复的.⽆无序的.⾥面的元素必须是可hash的(int, str, tuple,bool). 我们可以这样来 ...
- python os 模块常用操作
python 2.7 os 常用操作 官方document链接 文件和目录 os.access(path, mode) 读写权限测试 应用: try: fp = open("myfile&q ...
- 初识python: 字符串常用操作
直接上代码示例: #!/user/bin env python # author:Simple-Sir # time:20180914 # 字符串常用操作 name = 'lzh lyh' print ...
- R 语言的Dataframe常用操作
上节我们简单介绍了Dataframe的定义,这节我们具体来看一下Dataframe的操作 首先,数据框的创建函数为 data.frame( ),参考R语言的帮助文档,我们来了解一下data.frame ...
- python selenium 基本常用操作
最近学习UI自动化,把一些常用的方法总结一下,方便自己以后查阅需要.因本人水平有限,有不对之处多多包涵!欢迎指正! 一.xpath模糊匹配定位元素 武林至尊,宝刀屠龙刀(xpath),倚天不出(css ...
随机推荐
- 仿stl+函数模板
#include<iostream> using namespace std; template<class T> void output(T begin, T end) { ...
- Python 通用爬虫 和讯博客 scrapy
目标站点需求分析 通用爬虫,获取和讯博客所有博文 涉及的库 scrapy,re,requests,mysql URL RULE 解析单页源码 保存到数据库 结果
- VUE中总的逻辑关系和移动端mint-ui的应用接触
1.mint-ui官网:https://mint-ui.github.io/#!/zh-cn 可以点击开始使用,里边有详细的讲解.安装mint-ui: 官网是: 但是应用没有装成功,不知为何,可能是我 ...
- 初学python之路-day03
我在前面的文章提到了变量的概念,这里详细介绍下变量的命名.变量名,只能是字母.数字及下划线 "_" 任意组成,而且不能以数字开头.在命名变量时,尽量避免与系统关键词重名,如:'an ...
- Python3 元组(tuple)
一.定义:不可变序列的数据元素集合,元组的元素是不可以修改的 元组使用小括号,例如:tuple = (1,) 注意:即使元组里面只有一个元素,该元素后面也要加 ",":在函数传递参 ...
- python数据类型小测试
# 1. 有两个列表,其中一个列表a,每一项映射到另一个列表b每一项,先对a排序,要求b的中映射关系位置保持不变,给b也按照排序, (b的8对应a的[1,2], 7对应[3,4] ... ) a = ...
- [转] vue自定义组件(通过Vue.use()来使用)即install的使用
在vue项目中,我们可以自定义组件,像element-ui一样使用Vue.use()方法来使用,具体实现方法: 1.首先新建一个Cmponent.vue文件 // Cmponent.vue<te ...
- Jupyter-notebook 不自动打开浏览器解决办法
我的系统是Manjaro Linux, 一直以来,我使用jupyter-notebook的办法都是使用命令sudo jupyer-notebook --allow-root,然后手动复制粘贴URLS到 ...
- webpack报错需要合适的loader
以前做vue项目都好好的,最近做react,公共配置感觉加个jsx就可以了吧,然而不是这样的. 一.问题描述 You may need an appropriate loader to handle ...
- The Apache HBase™ Reference Guide
以下内容由http://hbase.apache.org/book.html#getting_started节选并改编而来. 运行环境:hadoop-1.0.4,hbase-0.94.22,jdk1. ...