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 ...
随机推荐
- winform子窗口调用父窗口的控件及方法-一般调用
首先新建一个窗体应用程序,在项目属性中点击右键->添加->添加新项,选择Windows窗体->添加. 在Form1和Form2窗口中各添加一个按钮,并双击添加事件处理函数: ...
- linux 如何指定nologin用户执行命令
在linux中建立网站时,我们一般分配一个www之类的用户给网站应用程序. 如果我们使用root或者具有管理员权限的账号在网站目录下去创建文件时,会遇到各种权限问题. 这时我们可以切换到www用户,这 ...
- sql server 查看连接详情
SELECT * FROM [Master].[dbo].[SYSPROCESSES] WHERE [DBID] IN ( SELECT [DBID] FROM [Master].[dbo].[SYS ...
- linux桌面系统的约定
linux系统的桌面系统基本遵循同样的约定. mime类型 在linux下,关于文件类型的信息通常放在/usr/share/mime./usr/local/share/mime和用户目录下,所有应用程 ...
- JavaScript函数式编程究竟是什么?
摘要: 理解函数式编程. 作者:前端小智 原文:JS中函数式编程基本原理简介 Fundebug经授权转载,版权归原作者所有. 在长时间学习和使用面向对象编程之后,咱们退一步来考虑系统复杂性. 在做了一 ...
- 将流数据输出到Mysql中
outputMysqlApp.scala import java.sql.DriverManager import org.apache.spark.SparkConf import org.apac ...
- ezdml设计数据库
数据结构和设计的介绍 ezdml软件:https://www.lanzous.com/i6ew2pe 1 用ezdml设计数据表然后导出到mysql数据库中 点击生成模型 2 选择库 3 点击开始生成
- Linux IO 概念(2)【转】
转自:https://www.cnblogs.com/qq289736032/p/9188455.html 在上一篇IO底层的概念中杂合了很多模糊的概念,受知识水平的限制,只是从网上抄了很多过来.从l ...
- 3-10 Pandas 常用操作
1.构造数据 In [1]: import pandas as pd data=pd.DataFrame({'group':['a','a','a','b','b','b','c','c','c' ...
- jq序 选择器
1.库和框架 库:小而精 直接操作DOM css() jquerry封装js的那些操作: 事件,属性, ajax(交互的技术),DOM,选择器 框架:大而全 事件,DOM,属性操作,ajax,&qu ...