用python做科学计算之pandas入门简介
时间:2022-05-08
本文章向大家介绍用python做科学计算之pandas入门简介,主要内容包括pandas是一个开源的python数据分析和处理包,使用灵活方便,性能高,速度快,简单介绍一下它里面比较常用的功能、数据清洗、数据处理、数据展示、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
pandas是一个开源的python数据分析和处理包,使用灵活方便,性能高,速度快,简单介绍一下它里面比较常用的功能
数据读取
它支持多种数据读取的方式这里简单介绍2种
通过csv文件读取数据:
$ pip instal pandas
$ python
>>> import pandas as pd
>>> data = pd.read_csv('test.csv')
通过mysql读取数据:
$ pip install sqlalchemy
$ pip install MySQL-python
$ python
>>> import pandas as pd
>>> from sqlalchemy import create_engine
>>> engine = create_engine('mysql://user:password@localhost/test')
>>> with engine.connect() as conn, conn.begin():
>>> data = pd.read_sql_table('data', conn)
>>> data
x y shape color xx
0 0.8 21 2 0.60
1 NaN 0.9 23 2 0.93
2 0.5 0.3 NaN 1 0.30
3 0.3 0.5 24 1 0.10
4 0.0 0.2 25 2 0.00
5 0.3 0.3 25 1 0.10
数据清洗
对不符合要求的数据进行清除,去掉数据里出现空值(NaN)的行
>>> data.dropna(how='any')
x y shape color xx
0 0.8 21 2 0.6
3 0.3 0.5 24 1 0.1
4 0.0 0.2 25 2 0.0
5 0.3 0.3 25 1 0.1
数据处理
取行列数量:
>>> data.shape #6行,5列
(6, 5)
取行列名:
>>> data.columns
Index([u'x', u'y', u'shape', u'color', u'xx'], dtype='object')
与sql比较:
select语句比较:类似 select shape, color from data limit 3;
>>> data[['shape','color']].head(3)
shape color
0 21 2
1 23 2
2 NaN 1
where语句比较:类似 select color from data where color = 2 limit 3;
>>> data[data['color'] == 2].head(3)
x y shape color xx
0 0.8 21 2 0.60
1 NaN 0.9 23 2 0.93
4 0.0 0.2 25 2 0.00
group by语句比较:类似 select color, count(*) from data where gruop by color;
>>> data.groupby('color').size()
color
1 3
2 3
dtype: int64
join语句比较:类似 select * from date inner join data2 on date.x = date2.x;
>>> pd.merge(data, data2, on='x')
x y_x shape_x color_x xx_x y_y shape_y color_y xx_y
0 0.8 21 2 0.60 21 2 0.60
1 NaN 0.9 23 2 0.93 0.9 23 2 0.93
2 0.5 0.3 NaN 1 0.30 0.3 NaN 1 0.30
3 0.3 0.5 24 1 0.10 0.5 24 1 0.10
4 0.3 0.5 24 1 0.10 0.3 25 1 0.10
5 0.3 0.3 25 1 0.10 0.5 24 1 0.10
6 0.3 0.3 25 1 0.10 0.3 25 1 0.10
7 0.0 0.2 25 2 0.00 0.2 25 2 0.00
数据展示
pip install matplotlib
>>> import pandas as pd
>>> import matplotlib.pyplot as plt
>>> d = {'hubei': 20, 'guangdong': 10, 'zhejiang': 15} #演示数据key:value对
>>> ts = pd.Series(d) #序列化数据
>>> ts.plot(kind='barh') #选择绘制成水平条形图
>>> plt.savefig('test.png') #保存成图片
- 【9】分页浏览的管理
- 温故而知新:silverlight中的图片资源绑定
- 页面状态保持机制(编辑中)
- mysql主从同步(5)-同步延迟状态考量(seconds_behind_master和pt-heartbea)
- ngx_pagespeed-nginx前端优化模块介绍
- Tomcat利用MSM实现Session共享方案解说
- Tomcat集群环境下session共享方案梳理(1)-通过memcached(MSM)方法实现
- nginx负载均衡(5种方式)、rewrite重写规则及多server反代配置梳理
- python常用知识梳理
- 如何打击“假货、高仿”类小程序
- centos 6x系统下源码安装mysql操作记录
- 【3】利用Word模板生成文档的总结
- 【2】快速代码集的由来及概览
- silverlight数据绑定模式TwoWay,OneWay,OneTime的研究
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 如何发布自己的项目到Maven中央仓库?
- 《闲扯Redis八》Redis字典的哈希表执行Rehash过程分析
- 为什么说在Android中请求权限从来都不是一件简单的事情?
- 小知识:如何赋予用户查看所有存储过程和触发器的权限
- ZCU106使用VCU TRD的MIPI的例子
- 一款功能简约到可怜的SQL 客户端
- Kotlin---data class
- sqlmap的使用方法
- 从0开始做播放器---音频播放有杂音且音调异常
- 线上故障实录-一大早服务就不可用了?
- mapboxGL中popup遮挡的优化
- SQL注入的基本步骤
- JS 变量作用域导致的一个坑
- 池化技术到达有多牛?看了线程和线程池的对比吓我一跳!
- Nginx 跨域 add_header 403状态下无效