Python数据分析库之pandas,你该这么学!No.1
写这个系列背后的故事
咦,面试系列的把基础部分都写完啦,哈哈答,接下来要弄啥嘞~
pandas吧
外国人开发的
翻译成汉语叫 熊猫
厉害厉害,很接地气
一个基于numpy的库
干啥的?
做数据分析用的
而数据分析是python体系下一个非常庞大的分支
厉害到,好多人一看就会(博主就不是)
博主将用不知道多少篇博客把她给你捣鼓明白(说白了,就是没写大纲!)
当然也可能让你失去对她的兴趣
毕竟,博主叫梦想橡皮擦啊
擦掉你编程的梦想也是我努力的一部分
下载按照这个库
这个库,安装easy
你只要这样,这样,然后在这样,中间出现问题,百度一下,这样,这样,就好了... ...
嘿嘿
我其实用的是python3.6版本
然后通过下面的命令安装的
pip install pandas
国内,一般安装比较慢,你添加一个清华大学的源就好了
pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple/
下载&安装速度就嗷嗷的了
pandas版本为
pandas 0.23.3
你的版本比我应该高,
毕竟我是老程序员了
pandas官网 http://pandas.pydata.org/
没有翻译完的伪中文网 https://www.pypandas.cn/index.html
安装之后
一番简单的操作之后,如果过程中你没有出现任何BUG
恭喜你,安装成功
下面打开你的任意开发工具
一般我用“被免费版”的pycharm
创建一个文件,然后输入下面的代码,直接run
import pandas
没有报错,完美,一个库学会了
当然,一般写成
import pandas as pd
你就和国际程序员接轨了
pandas主要干啥
如果你英文好,直接打开官方文档
瞅就可以了
如果英语不好,没关系
你这么理解,pandas就像用代码操作excel一样,一样一样的
在pandas中,你要学习一个新的数据结构
Series
百度翻译,恩,先记住发音吧 say 额 瑞 z
多么棒的标注,中英结合。
这是一种什么样的数据结构呢?
在解释这个问题前,我们先创建一个,然后在代码中看看
不就清晰明了了么
编写下面的代码
import pandas as pd
my_series = pd.Series(['我','是','梦想','橡皮擦'])
print(my_series)
运行结果
0 我
1 是
2 梦想
3 橡皮擦
dtype: object
好像也有看出来了啥?
别着急,弄到excel里面瞅瞅,直接复制就好
看到没,我们通过列表创建了一个series
在excel中,你需要先确定你知道什么是行,什么是列
横着的叫行,竖着的叫列
你通过列表创建series之后,每行的前面出现一个从0开始的序号
这个新出现的序列,记住,叫索引
,
既然叫做索引了,那么我们就可以给索引设置值
如果你有编程经验,那么你知道,索引值对应的英文叫做index
every 编程语言索引基本都是设置index
那我们在重写一下
import pandas as pd
my_series = pd.Series(['我','是','梦想','橡皮擦'],index=['a','b','c','d'])
print(my_series)
看一下结果 索引变了吧
a 我
b 是
c 梦想
d 橡皮擦
dtype: object
继续往里面挖,注意index和前面列表的长度一定要一致
什么意思?
pd.Series(['我','是','梦想','橡皮擦'],index=['a','b','c','d','e'])
报错
pd.Series(['我','是','梦想','橡皮擦'],index=['a','b','c'])
报错
声明一个series的函数中,还可以携带一个name参数
请查看
import pandas as pd
my_series = pd.Series(['我','是','梦想','橡皮擦'],index=['a','b','c','d'],name='梦想序列')
print(my_series)
结果瞅瞅
a 我
b 是
c 梦想
d 橡皮擦
Name: 梦想序列, dtype: object
接下来,可以把前面的列表参数也写完整了
import pandas as pd
my_series = pd.Series(data = ['我','是','梦想','橡皮擦'],index=['a','b','c','d'],name='梦想序列')
print(my_series)
总结一下
创建一个series是非常容易的,只需要采用
pd.Series(data=列表,index=列表,name=名称就可以)
其他创建方式
用字典也是可以的
my_series1 = pd.Series({'a':'非本科程序员','b':'公号'})
print(my_series1)
Series里面存储不同类型也是可以的
my_series2 = pd.Series([1,1.2,True,'MyName'])
print(my_series2)
这个Series你把他当成只有一列的excel就好了
咦?有人问了,刚才打印的结果不是2列么
没关系,那个是索引,只是获取值的一个序号罢了
不信,我们获取一下
my_series2 = pd.Series([1,1.2,True,'MyName'])
print(my_series2[0])
打印出来了吧
在试试
import pandas as pd
my_series = pd.Series(data = ['我','是','梦想','橡皮擦'],index=['a','b','c','d'],name='梦想序列')
my_series1 = pd.Series({'a':'非本科程序员','b':'公号'})
my_series2 = pd.Series([1,1.2,True,'MyName'])
print(my_series1['a']) # 通过索引 a 访问到了“非本科程序员”
print(my_series[0]) # 通过索引 0 访问到了“我“,通过my_series['a']依旧可以
这样子,你是不是感觉series跟python中的列表有点相似了呢?
好像还有点字典的感觉
这就对了,下篇见吧
我们会对series继续研究的~
最后,欢迎关注一个唠叨的编程工程师的公号,非本科程序员
你懒得搜,就打开这个链接吧
或者掏出你的手机,拍这个
Python数据分析库之pandas,你该这么学!No.1的更多相关文章
- Python数据分析库pandas基本操作
Python数据分析库pandas基本操作2017年02月20日 17:09:06 birdlove1987 阅读数:22631 标签: python 数据分析 pandas 更多 个人分类: Pyt ...
- Python数据分析入门之pandas基础总结
Pandas--"大熊猫"基础 Series Series: pandas的长枪(数据表中的一列或一行,观测向量,一维数组...) Series1 = pd.Series(np.r ...
- Python数据分析工具:Pandas之Series
Python数据分析工具:Pandas之Series Pandas概述Pandas是Python的一个数据分析包,该工具为解决数据分析任务而创建.Pandas纳入大量库和标准数据模型,提供高效的操作数 ...
- 教程 | 一文入门Python数据分析库Pandas
首先要给那些不熟悉 Pandas 的人简单介绍一下,Pandas 是 Python 生态系统中最流行的数据分析库.它能够完成许多任务,包括: 读/写不同格式的数据 选择数据的子集 跨行/列计算 寻找并 ...
- 在量化金融中15个最流行的Python数据分析库
Python是当今应用最广泛的编程语言之一,以其效率和代码可读性著称.作为一个科学数据的编程语言,Python介于R和java之间,前者主要集中在数据分析和可视化,而后者主要应用于大型应用.这种灵活性 ...
- 《Python 数据分析》笔记——pandas
Pandas pandas是一个流行的开源Python项目,其名称取panel data(面板数据)与Python data analysis(Python 数据分析)之意. pandas有两个重要的 ...
- python数据分析库pandas
在我看来,对于Numpy以及Matplotlib,Pandas可以帮助创建一个非常牢固的用于数据挖掘与分析的基础.而Scipy(会在接下来的帖子中提及)当然是另一个主要的也十分出色的科学计算库,但是我 ...
- Python 数据分析包:pandas 基础
pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包 类似于 Numpy 的核心是 ndarray,pandas 也是围绕着 Series 和 DataFrame 两个核心数据 ...
- python 数据分析库介绍
1 引言 高效处理数据的python工具: 与外界进行交互: 读写各种文件格式和数据库 准备: 对数据进行清理.修整.整合.规范化.重塑.切片切换.变形等处理以便进行分析 转换: 对数据集做一些数学和 ...
随机推荐
- Virtual Judge使用指南
https://cn.vjudge.net/ Virtual Judge并不是常规的Online Judge平台,他通过爬取其他OJ的题目,让我们可以直接在VJ上查找并提交各种OJ的题目,然后将我们的 ...
- 转:在linux中vi 文件里行尾奇怪的^M及解决
Linux编辑器vim中删除行尾的^M 有时候,在 Linux 中使用打开曾在 Windows 中编辑过的文件时,会在行尾看到 ^M 字符.看起来总是感觉很别扭. 删除方法如下: 在 Vim 的命令模 ...
- 深入理解synchronized
上一篇博客虽然题目叫内置锁的基本使用,但其实也是讲synchronized关键字的使用的.这篇博客是在看了许多大佬的博客记录后总结出的synchronized更底层的知识和原理. 一.synchron ...
- [已读]你不知道的JavaScript(上卷)
就在前幾天,我在看完第一部分的時候,說它在我心中要超過蝴蝶書了,好吧,現在要收回這句話.第二部分的內容著重在ecma5,6對象的新特性的介紹,深度上就一般啦,沒什麼收穫.總體來說,這本書詞法作用域,作 ...
- Web Scalability for Startup Engineers Tip&Techniques for Scaling You Web Application --读书笔记
Web Scalability for Startup Engineers Tip&Techniques for Scaling You Web Application 第1章和第2章讲述可伸 ...
- DockerSwarm 集群环境搭建
一.简介 1. 什么是docker swarm? Swarm 在 Docker 1.12 版本之前属于一个独立的项目,在 Docker 1.12 版本发布之后,该项目合并到了 Docker 中,成为 ...
- Java之final、static关键字及匿名对象
个人通俗理解: 1.final:首先被final修饰的变量就自动变成的不能被修改的常量了.被修饰的类会自动变成太监类,只能有父类,不能有子类:被修饰的方法也不能被子类重写了:被修饰的引用变量值也不能更 ...
- linux学习笔记汇总
linux 文件系统是采用级层树状的目录结构,采用"/"根目录的方式 目录结构: / 根目录 |---root: 存放root用户相关的文件 ...
- 从零开始利用vue-cli搭建简单音乐网站(三)
1.利用router-link在组件之间传递数据 如上图,MainPage.vue中主要有8个推荐曲目数据,主要实现方式是建立好主页面模板,然后用v-for循环获取返回的music对象,然后分别绑定曲 ...
- 前端开发神器 - Brackets
做了几年的 .Net 项目开发,后来公司转 Java 语言开发,Java 做了还没一年,公司准备前后端分离开发,而我被分到前端! Brackets是一款基于web(html+css+js)开发的web ...