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 ...
随机推荐
- WPF绑定 mode Using System.ComponentModel; IPropertyChanged, if(this.PropertyChanged!=null){ this.PropertyChanged.Invoke(this,new PropertyChangedEventArgs("Name"))
Mode,它的类型为BindingMode的枚举类型,可以取TwoWay.OneWay.OnTime.OneWayToSource.Default. oneWay:使用 OneWay 绑定时,每当源发 ...
- SQLServer 跨服务器链接 Access数据库
最近做了一个链接Access的实例,记录一笔. 如果你的Access数据库文件和SQLServer数据库在同一服务器上,可直接在数据库手动创建数据库链接 步骤如下: 打开新建链接,给你的链接起一个顺眼 ...
- 微信接口调用'updateTimelineShareData','updateAppMessageShareData' 的踩坑记录
6月份新版微信客户端发布后,用户从微信内的网页分享消息给微信好友,以及分享到朋友圈,开发者将无法获知用户是否分享完成.具体调整点为: ()分享接口调用后,不再返回用户是否分享完成事件,即原先的canc ...
- git和小乌龟在windows下安装
一:所需软件 (1):git 下载地址:https://git-scm.com/download (2):TortoiseGit 下载地址:https://tortoisegit.org/downlo ...
- 渗透常见linux命令
在拿到一个 webshell 之后,大家首先会想到去把自己的权限提升到最高,windows 我们会提升到 SYSTEM 权限,而 Linux 我们会提升到 root 权限,拿在进行 Linux 提权的 ...
- Django 练习班级管理系统八 -- 上传文件
Form表单上传文件 修改 views.py import os def upload(request): if request.method == 'GET': img_list = models. ...
- day05 作业
猜年龄 ''' 输入姑娘的年龄后,进行以下判断: 1. 如果姑娘小于18岁,打印"不接受未成年" 2. 如果姑娘大于18岁小于25岁,打印"心动表白" 3. 如 ...
- Gitlab批量迁移项目
最近接到一个需求,要把一个Gitlab上边的项目全部导入到另外一个Gitlab,借鉴了网上的一个方法,成功实现. 参考链接:https://segmentfault.com/a/11900000159 ...
- 201871010134-周英杰《面向对象程序设计(java)》第八周学习总结
201871010134-周英杰<面向对象程序设计(java)>八周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个 ...
- CPU-bound(计算密集型) 和I/O bound(I/O密集型)/数据密集型
https://blog.csdn.net/q_l_s/article/details/51538039 I/O密集型 (CPU-bound)I/O bound 指的是系统的CPU效能相对硬盘/内存的 ...