pandas 常用语句
pandas的功能非常强大,支持类似与sql的数据增、删、查、改,并且带有丰富的数据处理函数;
with pd.ExcelWriter('shanghai_%d.xlsx'%iii) as writer:
for i,j in dddit:
j.to_excel(writer,sheet_name=str(i))
#j 为DataFrame类型数据
In [14]: df.head()
Out[14]:
A B C D
2013-01-01 0.469112 -0.282863 -1.509059 -1.135632
2013-01-02 1.212112 -0.173215 0.119209 -1.044236
2013-01-03 -0.861849 -2.104569 -0.494929 1.071804
2013-01-04 0.721555 -0.706771 -1.039575 0.271860
2013-01-05 -0.424972 0.567020 0.276232 -1.087401
dates=['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04', '2013-01-05', '2013-01-06']
df[:] 通过【】切片列 ,axis=0 左闭右开
Out[24]:
A B C D
2013-01-01 0.469112 -0.282863 -1.509059 -1.135632
2013-01-02 1.212112 -0.173215 0.119209 -1.044236
2013-01-03 -0.861849 -2.104569 -0.494929 1.071804 In [25]: df['20130102':'20130104'] 两边包含
Out[25]:
A B C D
2013-01-02 1.212112 -0.173215 0.119209 -1.044236
2013-01-03 -0.861849 -2.104569 -0.494929 1.071804
2013-01-04 0.721555 -0.706771 -1.039575 0.271860
df['A'] 选择单个列,等同于df.A, 单列的数据类型为series
Out[23]:
2013-01-01 0.469112
2013-01-02 1.212112
2013-01-03 -0.861849
2013-01-04 0.721555
2013-01-05 -0.424972
2013-01-06 -0.673690
Freq: D, Name: A, dtype: float64
df.loc[] 根据数据的索引值(标签) 定位数据
df.loc[dates[0]]
df.loc[:,['A','B']]
df.loc['20130102':'20130104',['A','B']]
A B
2013-01-02 1.212112 -0.173215
2013-01-03 -0.861849 -2.104569
2013-01-04 0.721555 -0.706771
df.loc['20130102',['A','B']]
df.loc[dates[0],'A']
Out[30]: 0.4691122
df.iloc[] 根据数据的位置序号定位数据,而不是索引的值
当入参为1个时,表示纵轴序号值为 y 的行,入参为两个时(x,y),表示横轴上序号为x,纵轴上序号为y的子集
分号 :同列表,左闭右开
d.iloc[1:2,[1,2]]
df.iloc[3:5,0:2]
df.iloc[1:3,:]
df.iloc[1,1]
df.iloc[[1,2,4],[0,2]] 返回行号为1,2,4,列号为0,2的子集
df.iloc[3] 返回序号值为3的行
d.index 返回索引明细
d.dtypes 返回各列(column)的类型及名称
填充空值
d=d.fillna('_')将NA以'_'值替换
排序
通过索引排序,默认是纵轴索引值,升序
df.sort_index(axis=0,ascending=True)
通过数值排序
df.sort_values(by,axis=0,ascending=True)
by可以是单个列标签,也可以是多个列标签的列表
groupby,分组
df2=grouped2.reset_index() 将分组后的索引重新设置为数据
list_data=df2.values.tolist() 将dataframe类型转化为list
df_data['recordat'].apply(lambda x:x.strftime('%Y-%m-%d')) 将函数应用于df的某一列column
读取excel详细入参说明
pandas.read_excel(io, sheetname=0, header=0, skiprows=None, skip_footer=0, index_col=None,parse_cols=None, parse_dates=False, date_parser=None, na_values=None, thousands=None, convert_float=True,has_index_names=None, converters=None, engine=None, **kwds)
Read an Excel table into a pandas DataFrame
| Parameters: |
io : string, file-like object, pandas ExcelFile, or xlrd workbook.
sheetname : string, int, mixed list of strings/ints, or None, default 0 表示读取哪几个工作簿,从0开始
header : int, list of ints, default 0 将某一行设置为标题行,计数从0开始,在跳过行之后重新计数。如skiprows=2,header=2,则将取excel中索引(从0开始计数)为4的行为header,即pd.DataFrame的columns值 表示去掉头两行数据以剩下的数据的索引数(从0开始)为2的行作为header
skiprows : list-like 从开头起,跳过哪几行,默认值为None,等同于0 .【 如果取值skiprows=2,则将从excel中索引数(从0开始计数)为2(包含2)的row处开始读取】
skip_footer : int, default 0。 从尾端起,跳过哪几行, 如等于2,则将跳过最后两行以倒数第三行作为最后一行
index_col : int, list of ints, default None 将某一列设置为索引,从0开始计数
converters : dict, default None 以列名为键,函数为值,对该列的值应用该函数,取结果
parse_cols : int or list, default None 解析哪几列,'A:E'表示解析A列到E列(含)
na_values : list-like, default None 列表,如遇到列表中的值,将其读为na
thousands : str, default None
keep_default_na : bool, default True
verbose : boolean, default False
engine: string, default None
convert_float : boolean, default True
has_index_names : boolean, default None
|
|---|---|
| Returns: |
parsed : DataFrame or Dict of DataFrames
|
pandas 常用语句的更多相关文章
- Python数据分析与挖掘所需的Pandas常用知识
Python数据分析与挖掘所需的Pandas常用知识 前言Pandas基于两种数据类型:series与dataframe.一个series是一个一维的数据类型,其中每一个元素都有一个标签.series ...
- 【转载】pandas常用函数
原文链接:https://www.cnblogs.com/rexyan/p/7975707.html 一.import语句 import pandas as pd import numpy as np ...
- SQL server 常用语句
SQL Server中常用的SQL语句 1.概述 2.查询概述 3.单表查询 4.连接查询 5.带有exists的相关子查询 6.SQL的集合操作 7.插入操作 8.删除操作 9.修改操作 10. ...
- mysql常用语句总结
1.创建语句 CREATE DATABASE database_name //创建数据库 //删表 DROP TABLE IF EXISTS `t_social_user_extend`; //建表C ...
- JS常用语句
JavaScript常用语句 1.document.write(""); 输出语句 2.JS中的注释为 // 3.传统的HTML文档顺序是: document-& ...
- velocity常用语句速查表
velocity常用语句 * 变量定义 #set($directoryRoot = "www" ) * #if($!list.size() != 0) //判断list不为空 #f ...
- MySQL 常用语句 (汇集)
原文地址:MySql常用语句作者:wuyanle 一.mysql常用语句 创建,删除和最基本查询: 显示数据库 mysql->show databases; 创建数据库 mysql-> ...
- mysql数据库常用语句2
关于mysql常用语句的整理,上一篇涉及到ddl.dml以及一些简单的查询语句. 1:mysql分页查询 select * from table_name limit 5,10; 从下标为5元素查 ...
- mysqldump的常用语句及各参数详解
mysqldump的常用语句及各参数详解 分类: MySQL 2011-01-11 17:55 1368人阅读 评论(0) 收藏 举报 数据库mysql服务器tableinsertdatabase m ...
随机推荐
- linux下使用docker-thunder-xware进行离线下载
1.环境: lsb_release -a hello@jhello:~$ lsb_release -aNo LSB modules are available.Distributor ID: Ubun ...
- luogu P2184 贪婪大陆
乍一不咋会 ╭(╯3╰)╮ 把地雷L到R看成一条线段 要求的就是区间内有多少条线段经过 很明显是要用[1,R]内的起点个数-[1,L-1]的终点个数 然后这起点和终点个数可以用简单的差分线段树来维护一 ...
- 《算法竞赛入门经典》习题及反思 -<2>
数组 Master-Mind Hints,Uva 340 题目:给定答案序列和用户猜的序列,统计有多少数字对应正确(A),有多少数字在两个序列都出现过但位置不对. 输入包括多组数据.每组输入第一行为序 ...
- UVa 10340 子序列
https://vjudge.net/problem/UVA-10340 题意: 输入两个字符串s和t,判断是否可以从t中删除0个或多个字符得到字符串s. 思路: 很水的题... #include&l ...
- GATK 一些资料
1. http://blog.sciencenet.cn/home.php?mod=space&uid=1469385&do=blog&classid=166694&v ...
- 肿瘤基因组学数据库终结者:cBioPortal---转载
转载自:http://blog.sciencenet.cn/blog-1509670-1000479.html 随着芯片和高通量测序技术的广泛应用,在肿瘤研究领域积累了越来越多的基因组学数据,特别是像 ...
- 工控机安装Ubuntu14.04
开机,不停按delete,进入bios 进入boot,选择USB启动 重新开机,进入安装向导,下一步即可
- 解决在nginx+php环境下$_SERVER['PHP_SELF']获取不到值的问题
Tp3.2. __APP__获取值不正确.$_SERVER['PHP_SELF']为空导致. 原来是php.ini的问题. sudo vim /usr/local/php/etc/php.ini 重启 ...
- 日志_测试代码_Qt532
1. int LogFile(QString &_str) { QDateTime datetime = QDateTime::currentDateTime();//获取系统现在的时间 QS ...
- 【Golang 接口自动化06】微信支付md5签名计算及其优化
前言 可能看过我博客的朋友知道我主要是做的支付这一块的测试工作.而我们都知道现在比较流行的支付方式就是微信支付和支付宝支付,当然最近在使用低手续费大力推广的京东金融(已改名为京东数科)以后也可能站到第 ...