numpy pandas 学习
一。 数组要比列表效率高很多
numpy高效的处理数据,提供数组的支持,python默认没有数组。pandas、scipy、matplotlib都依赖numpy。
pandas主要用于数据挖掘,探索,分析
maiplotlib用于作图,可视化
scipy进行数值计算,如:积分,傅里叶变换,微积分
statsmodels用于统计分析
Gensim用于文本挖掘
sklearn机器学习, keras深度学习
二。
numpy和mkl 下载安装
pandas和maiplotlib网络安装
scipy 下载安装
statsmodels和Gensim网络安装
三numpy的操作。
import numpy
# 创建数一维数组组
# numpy.array([元素1,元素2,......元素n])
x = numpy.array(['a', '9', '8', '1'])
# 创建二维数组格式
# numpy.array([[元素1,元素2,......元素n],[元素1,元素2,......元素n],[元素1,元素2,......元素n]])
y = numpy.array([[3,5,7],[9,2,6],[5,3,0]])
# 排序
x.sort()
y.sort()
# 取最大值
y1 = y.max()
# 取最小值
y2 = y.main()
# 切片
四pandas的操作。
import pandas as pda
# 使用pandas生成数据
# Series代表某一串数据 index指定行索引名称,Series索引默认从零开始
# DataFrame代表行列整合出来的数据框,columns 指定列名
a = pda.Series([8, 9, 2, 1], index=['one', 'two', 'three', 'four'])
# 以列表的格式创建数据框
b = pda.DataFrame([[5,6,2,3],[3,5,1,4],[7,9,3,5]], columns=['one', 'two', 'three', 'four'],index=['one', 'two', 'three'])
# 以字典的格式创建数据框
c = pda.DataFrame({
'one':4, # 会自动补全
'two':[6,2,3],
'three':list(str(982))
})
# b.head(行数)# 默认取前5行头
# b.tail(行数)# 默认取后5行尾
# b.describe() 统计数据的情况 count mean std min 25% max
e = b.head()
f = b.describe()
# 数据的转置,及行变成列,列变成行
g = b.T
五python数据的导入
import pandas as pad
f = open('d:/大.csv','rb')
# 导入csv
a = pad.read_csv(f, encoding='python')
# 显示多少行多少列
a.shape()
a.values[0][2] #第一行第三列
# 描述csv数据
b = a.describe()
# 排序
c = a.sort_values()
# 导入excel
d = pad.read_excel('d:/大.xls')
print(d)
print(d.describe())
# 导入mysql
import pymysql
conn = pymysql.connect(host='localhost', user='root', passwd='root', db='')
sql = 'select * from mydb'
e = pad.read_sql(sql, conn)
# 导入html表格数据 需要先安装 html5lib和bs4
g = pad.read_html('https://book.douban.com/subject/30258976/?icn=index-editionrecommend')
# 导入文本数据
h = pad.read_table('d:/lianjie.txt','rb', engine='python')
print(h.describe())
六matplotlib的使用
# 折线图/散点图用plot
# 直方图用hist
import matplotlib.pylab as pyl
import numpy as npy
x = [1,2,4,6,8,9]
y = [5,6,7,8,9,0]
pyl.plot(x, y) #plot(x轴数据,y轴数据,展现形式)
# o散点图,默认是直线 c cyan青色 r red红色 m magente品红色 g green绿色 b blue蓝色 y yellow黄色 w white白色
# -直线 --虚线 -. -.形式 :细小虚线
# s方形 h六角形 *星星 + 加号 x x形式 d菱形 p五角星
pyl.plot(x, y, 'D')
pyl.title('name') #名称
pyl.xlabel('xname') #x轴名称
pyl.ylabel('yname') #y轴名称
pyl.xlim(0,20) #设置x轴的范围
pyl.ylim(2,22) #设置y轴的范围
pyl.show()
# 随机数的生成
data = npy.random.random_integers(1,20,100) #(最小值,最大值,个数)
# 生成具有正态分布的随机数
data2 = npy.random.normal(10.0, 1.0, 10000) #(均值,西格玛,个数)
# 直方图hist
pyl.hist(data)
pyl.hist(data2)
# 设置直方图的上限下限
sty = npy.arange(2,20,2) #步长也表示直方图的宽度
pyl.hist(data, sty, histtype='stepfilled') # 去除轮廓
# 子图的绘制和使用
pyl.subplot(2, 2, 2) # (行,列,当前区域)
x1 = [2,3,5,8,6,7]
y1 = [2,3,5,9,6,7]
pyl.plot(x1, y1)
pyl.subplot(2, 2, 1) # (行,列,当前区域)
x1 = [2,3,5,9,6,7]
y1 = [2,3,5,9,6,7]
pyl.plot(x1, y1)
pyl.subplot(2, 1, 2) # (行,列,当前区域)
x1 = [2,3,5,9,6,7]
y1 = [2,3,9,5,6,7]
pyl.plot(x1, y1)
pyl.show()
numpy pandas 学习的更多相关文章
- Python: NumPy, Pandas学习资料
NumPy 学习资料 书籍 NumPy Cookbook_[Idris2012] NumPy Beginner's Guide,3rd_[Idris2015] Python数据分析基础教程:NumPy ...
- 常用统计分析python包开源学习代码 numpy pandas matplotlib
常用统计分析python包开源学习代码 numpy pandas matplotlib 待办 https://github.com/zmzhouXJTU/Python-Data-Analysis
- 用scikit-learn和pandas学习线性回归
对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了. 1. 获取数据,定义问题 没有数据,当然没法研究机器学习 ...
- Ipython自动导入Numpy,pandas等模块
一.引言 最近在学习numpy,书上要求安装一个Ipythpn,可以自动导入Numpy,pandas等数据分析的模块,可是当我安装后,并不能自动导入numpy模块,还需要自己import.我就去查了一 ...
- Numpy&Pandas
Numpy & Pandas 简介 此篇笔记参考来源为<莫烦Python> 运算速度快:numpy 和 pandas 都是采用 C 语言编写, pandas 又是基于 numpy, ...
- python 数据分析工具之 numpy pandas matplotlib
作为一个网络技术人员,机器学习是一种很有必要学习的技术,在这个数据爆炸的时代更是如此. python做数据分析,最常用以下几个库 numpy pandas matplotlib 一.Numpy库 为了 ...
- Python pandas学习总结
本来打算学习pandas模块,并写一个博客记录一下自己的学习,但是不知道怎么了,最近好像有点急功近利,就想把别人的东西复制过来,当心沉下来,自己自觉地将原本写满的pandas学习笔记删除了,这次打算写 ...
- pandas学习(数据分组与分组运算、离散化处理、数据合并)
pandas学习(数据分组与分组运算.离散化处理.数据合并) 目录 数据分组与分组运算 离散化处理 数据合并 数据分组与分组运算 GroupBy技术:实现数据的分组,和分组运算,作用类似于数据透视表 ...
- pandas学习(创建多层索引、数据重塑与轴向旋转)
pandas学习(创建多层索引.数据重塑与轴向旋转) 目录 创建多层索引 数据重塑与轴向旋转 创建多层索引 隐式构造 Series 最常见的方法是给DataFrame构造函数的index参数传递两个或 ...
随机推荐
- 01 . Go之从零实现Web框架(框架雏形, 上下文Context,路由)
设计一个框架 大部分时候,我们需要实现一个 Web 应用,第一反应是应该使用哪个框架.不同的框架设计理念和提供的功能有很大的差别.比如 Python 语言的 django和flask,前者大而全,后者 ...
- 如何在Nginx不绑定域名下使用SSL/TLS证书?
前提 该文主要记录如何在没有购买域名的情况下使用SSL/TLS协议,即地址前面的http变成了https.但是这样的SSL协议是会被浏览器认为是不安全的.在开发或者测试环境可以这样搞,生产环境下还是乖 ...
- CSS-position 属性&元素脱离文档流引发父级边框塌陷问题
CSS-position 属性 CSS 定位机制 CSS 有三种基本的定位机制:普通流.浮动(float)和绝对定位(position). 除非专门指定,否则所有框都在普通流中定位.也就是说,普通流中 ...
- 在php里做js操作
'echo <script>js_operation</script>';
- netcore项目中使用 SpringCloudConfig 和apollo做配置中心
版权所有,转载请注明出处 https://www.cnblogs.com/netqq/p/14251403.html 一.使用apollo作为配置中心 首先apollo 项目简介和安装请自行百度,本文 ...
- ASP.Net Core 3.1 使用实时应用SignalR入门
参考文章:微软官方文档:https://docs.microsoft.com/zh-cn/aspnet/core/signalr/introduction?view=aspnetcore-3.1 和 ...
- NP问题/NP完全问题(NP-complete problem)如何判断是否是NP完全问题
在算法复杂度分析的过程中,人们常常用特定的函数来描述目标算法,随着变量n的增长,时间或者空间消耗的增长曲线,近而进一步分析算法的可行性(有效性). 引入了Big-O,Big-Ω,来描述目标算法的上限. ...
- 【C++】《Effective C++》第四章
第四章 设计与声明 条款18:让接口容易被正确使用,不易被误用 请记住 好的接口很容易被正确使用,不容易被误用.你应该在你的所有接口中努力达到这些性质. "促进正确使用"的办法包括 ...
- python学习笔记 | strftime()格式化输出时间
time模块 import time t = time.strftime("%Y-%m-%d %H:%M:%S") print(t) datetime模块 import datet ...
- 万字长文爆肝 DNS 协议!
试想一个问题,我们人类可以有多少种识别自己的方式?可以通过身份证来识别,可以通过社保卡号来识别,也可以通过驾驶证来识别,尽管我们有多种识别方式,但在特定的环境下,某种识别方法可能比另一种方法更为适合. ...