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 ...
随机推荐
- trailhead学习之 LWC for Aura Developers
本篇查看https://trailhead.salesforce.com/content/learn/modules/lightning-web-components-for-aura-develop ...
- JVM底层原理及调优之笔记一
JVM底层原理及调优 1.java虚拟机内存模型(JVM内存模型) 1.堆(-Xms -Xmx -Xmn) java堆,也称为GC堆,是JVM中所管理的内存中最大的一块内存区域,是线程共享的,在JVM ...
- python网络编程-2
1.理解相关概念 #浅显理解下 对比cpu与io的差距如:io从硬盘读取一条数据9ms ,cpu在9ms可以做450万次指令 cpu切换上下文的方式:1.遇到io操作切换cpu 2.cpu时间片分配 ...
- Telegram Android源码问题汇总 持续更新
libtgvoip目录为空 git clone下来的工程中带有submodule时,submodule的内容没有下载下来,执行如下命令 cd Telegram git submodule update ...
- 变量、数据类型、python内存管理
pycharm快捷键 ctrl + c 复制, 默认复制整行 ctrl + v 粘贴 ctrl + x 剪切 ctrl + a 全选 ctrl + z 撤销 ctrl + f 查找 ctrl + sh ...
- odoo10学习笔记五:高级视图
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/11189279.html 树视图 tree视图表现出来是列表视图,列表中一行一纪录.可以根据每行纪录的某字段值 ...
- SDL2学习(二):常用枚举值和函数
1. 高频枚举值或结构体 1.1 SDL_WindowFlags /** * \brief The flags on a window * * \sa SDL_GetWindowFlags() */ ...
- JS高阶---执行上下文栈
大纲: 主体: 注意:*******函数调用时才会产生上下文栈,声明时不会产生********** 顺序: 概念图: 执行上下文栈的顺序---→后进先出 其他概念图: 当前执行的上下文总是在顶部 全局 ...
- 莫烦TensorFlow_06 plot可视化
import tensorflow as tf import numpy as np import matplotlib.pyplot as plt def add_layer(inputs, in_ ...
- Vue小练习(for循环,push方法,冒泡,if判断(以及与for循环的连用),按钮高亮,根据input框筛选数据)
vue练习 ''' 1. 先有一下成绩单数据 scores = [ { name: 'Bob', math: 97, chinese: 89, english: 67 }, { name: 'Tom' ...