Pandas学习
Pandas的安装
MAC
pip3 install pandas
若遇到管理员权限问题,加上sudo
接下来我们开始使用pandas
我们先构建一个一维序列:
s = pd.Series( [3, -5, 7, 4], index=['a', 'b', 'c', 'd'] )

接下来,我们打印pandas的另外一种数据形式, DataFrame
A two-dimensional labelled data structure with columns of potentially different types

使用代码构建如上所示的数据形式
data = {
'Country' : ['Belgium','India','Brazil'],
'Capital' : ['Brussels','New Delhi','Brasilia'],
'Population' : [11190846,1303171035,207847528]
}
df = pd.DataFrame(data, columns=['Country','Capital','Population'])
打印结果如下:

一些简单的数据操作:
df.index 行索引
df.columns 列索引
df.values 显示数值
df.describe()

行列互换 df.T
列名排序(columns) df.sort_index(axis=1, ascending = False )
行名排序(rows) df.sort_index(axis=0, ascending = False)
对指定的列名进行排序 df.sort_values(by='Population')
drop values from rows s.drop(['a' , 'c'])
drop values from columns df.drop('Country', axis=1)
二、Pandas 选择数据
#select by label
选择第0,1行
df.loc[[0,1]]

选择'Country', 'Capital'列

选择第0行,第'Country'列

#select by position
选择固定数值 df.iloc[0,0]

选择Position行,第0列

切片 df.iloc[[1:2],[2:3]]

选择某行 df.iloc[0]

mixed方式 df.ix[[1,2],'Country']]
筛选数值 选择人口大于11190846的数值
df[df.Population>100000]

修改数值
将df的第二行,第二列修改为test
使用position:
df.iloc[2,2] = 'test'
使用label:
df.loc[2,'Capital'] = 'test'
另外一种修改数值的方法是比较大小:
df.Population[df.Population>10000] = 0
将Population列中数值大于10000的修改为0
Pandas处理丢失数据
去除任意一行,有空值:
df.dropna(axis=0, how='any')
去除任意一列,有空值:
df.dropna(axis=1, how='any')
将any改为all,意味着只有当所有的都是nan的时候,才能删除
填充值, 将nan填充为0:
df.fillna(value=0)
判断是否有缺失值:
df.isnull()
np.any(df.isnull()) == True
df.isnull()
读取文件和导入文件
读取:
data = pd.read_csv('student.csv',index_col='id')
导出:
data.to_csv('output.csv')
Pandas学习的更多相关文章
- 用scikit-learn和pandas学习线性回归
对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了. 1. 获取数据,定义问题 没有数据,当然没法研究机器学习 ...
- Pandas 学习笔记
Pandas 学习笔记 pandas 由两部份组成,分别是 Series 和 DataFrame. Series 可以理解为"一维数组.列表.字典" DataFrame 可以理解为 ...
- Python pandas学习总结
本来打算学习pandas模块,并写一个博客记录一下自己的学习,但是不知道怎么了,最近好像有点急功近利,就想把别人的东西复制过来,当心沉下来,自己自觉地将原本写满的pandas学习笔记删除了,这次打算写 ...
- pandas学习(数据分组与分组运算、离散化处理、数据合并)
pandas学习(数据分组与分组运算.离散化处理.数据合并) 目录 数据分组与分组运算 离散化处理 数据合并 数据分组与分组运算 GroupBy技术:实现数据的分组,和分组运算,作用类似于数据透视表 ...
- pandas学习(创建多层索引、数据重塑与轴向旋转)
pandas学习(创建多层索引.数据重塑与轴向旋转) 目录 创建多层索引 数据重塑与轴向旋转 创建多层索引 隐式构造 Series 最常见的方法是给DataFrame构造函数的index参数传递两个或 ...
- pandas学习(常用数学统计方法总结、读取或保存数据、缺省值和异常值处理)
pandas学习(常用数学统计方法总结.读取或保存数据.缺省值和异常值处理) 目录 常用数学统计方法总结 读取或保存数据 缺省值和异常值处理 常用数学统计方法总结 count 计算非NA值的数量 de ...
- pandas学习(创建数据,基本操作)
pandas学习(一) Pandas基本数据结构 Series类型数据 Dataframe类型 基本操作 Pandas基本数据结构 两种常用数据结构: Series 一维数组,与Numpy中的一维ar ...
- pandas 学习总结
pandas 学习总结 作者:csj 更新时间:2018.04.02 shenzhen email:59888745@qq.com home: http://www.cnblogs.com/csj0 ...
- 用 scikit-learn 和 pandas 学习线性回归
用 scikit-learn 和 pandas 学习线性回归¶ from https://www.cnblogs.com/pinard/p/6016029.html 就算是简单的算法,也需要跑通整 ...
- pandas学习系列(一):时间序列
最近参加了天池的一个机场航空人流量预测大赛,需要用时间序列来预测,因此开始使用python的pandas库 发现pandas库功能的确很强大,因此在这记录我的pandas学习之路. # -*- cod ...
随机推荐
- C# based on PdfSharp to split pdf files and get MemoryStream C#基于PdfSharp拆分pdf,并生成MemoryStream
install-package PdfSharp -v 1.51.5185-beta using System; using PdfSharp.Pdf; using System.IO; using ...
- yield return,yield break
转自, http://www.cnblogs.com/kingcat/archive/2012/07/11/2585943.html yield return 表示在迭代中下一个迭代时返回的数据,除此 ...
- webform的原生操作图片预览和上传
1.使用input标签进行图片操作,input的标签有一个accept属性,accept 属性只能与 <input type="file"> 配合使用.它规定能够通过文 ...
- python数据挖掘介绍
目录 一:什么是数据挖掘 二:数据挖掘的基本任务 三:数据挖掘流程 四:数据挖掘建模工具 在python对数据的处理方式中,数据挖掘和数据分析是两个重要的方式,目的是为了从数据中获取具有科研或者商 ...
- Spring Boot MVC 使用 JSP 作为模板
Spring Boot 默认使用 Thymeleaf 作为模板引擎,直接在 template 目录中存放 JSP 文件并不能正常访问,需要在 main 目录下新建一个文件夹来存放 JSP 文件,而且需 ...
- css去掉button点击后的蓝框
转自:http://www.inbeijing.org/archives/1139 css控制Button 按钮的点击时候出现蓝色边框的问题 添加css属性,这样在点击安按钮的时候就不会有蓝色边框了. ...
- 【原】Spring测试类代码
package test; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.bea ...
- springBoot添加日志管理
一. 近期自己的项目想要一个记录日志的功能,而springboot本身就内置了日志功能,然而想要输入想要的日志,并且输出到磁盘,然后按天归档,或者日志的切分什么的,自带的日志仅仅具有简单的功能,百度了 ...
- rem与em的使用和区别详解【转】
目录 最大的问题是 主要区别 rem 单位如何转换为像素值 em 单位如何转换为像素值 Em 单位的遗传效果 Em 继承的例子 浏览器设置 HTML 元素字体大小的影响 没有设置 HTML 字体大 ...
- Ansible配置执行远程主机的ssh端口号
在线上的环境中,服务端的ssh会有进行变更的情况 例如:有些服务器的ssh端口号是 34567 等情况,那么该如何配置呢? 编辑 /etc/ansible/hosts [servers] 配置完毕后, ...