写这个系列背后的故事

咦,面试系列的把基础部分都写完啦,哈哈答,接下来要弄啥嘞~

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继续研究的~

最后,欢迎关注一个唠叨的编程工程师的公号,非本科程序员

你懒得搜,就打开这个链接吧

https://dwz.cn/r4lCXEuL

或者掏出你的手机,拍这个

Python数据分析库之pandas,你该这么学!No.1的更多相关文章

  1. Python数据分析库pandas基本操作

    Python数据分析库pandas基本操作2017年02月20日 17:09:06 birdlove1987 阅读数:22631 标签: python 数据分析 pandas 更多 个人分类: Pyt ...

  2. Python数据分析入门之pandas基础总结

    Pandas--"大熊猫"基础 Series Series: pandas的长枪(数据表中的一列或一行,观测向量,一维数组...) Series1 = pd.Series(np.r ...

  3. Python数据分析工具:Pandas之Series

    Python数据分析工具:Pandas之Series Pandas概述Pandas是Python的一个数据分析包,该工具为解决数据分析任务而创建.Pandas纳入大量库和标准数据模型,提供高效的操作数 ...

  4. 教程 | 一文入门Python数据分析库Pandas

    首先要给那些不熟悉 Pandas 的人简单介绍一下,Pandas 是 Python 生态系统中最流行的数据分析库.它能够完成许多任务,包括: 读/写不同格式的数据 选择数据的子集 跨行/列计算 寻找并 ...

  5. 在量化金融中15个最流行的Python数据分析库

    Python是当今应用最广泛的编程语言之一,以其效率和代码可读性著称.作为一个科学数据的编程语言,Python介于R和java之间,前者主要集中在数据分析和可视化,而后者主要应用于大型应用.这种灵活性 ...

  6. 《Python 数据分析》笔记——pandas

    Pandas pandas是一个流行的开源Python项目,其名称取panel data(面板数据)与Python data analysis(Python 数据分析)之意. pandas有两个重要的 ...

  7. python数据分析库pandas

    在我看来,对于Numpy以及Matplotlib,Pandas可以帮助创建一个非常牢固的用于数据挖掘与分析的基础.而Scipy(会在接下来的帖子中提及)当然是另一个主要的也十分出色的科学计算库,但是我 ...

  8. Python 数据分析包:pandas 基础

    pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包 类似于 Numpy 的核心是 ndarray,pandas 也是围绕着 Series 和 DataFrame 两个核心数据 ...

  9. python 数据分析库介绍

    1 引言 高效处理数据的python工具: 与外界进行交互: 读写各种文件格式和数据库 准备: 对数据进行清理.修整.整合.规范化.重塑.切片切换.变形等处理以便进行分析 转换: 对数据集做一些数学和 ...

随机推荐

  1. swiper 解决动态加载数据滑动失效的问题

    两种解决方法 第一种解决办法: success:function(result){ var resultdata =eval("("+result+")"); ...

  2. 利用arguments对象在javaScript中实现重载(overload)

    一些概念: 重载(overload): 什么是: 相同函数名,不同参数列表的多个函数,在调用时,可根据传入参数的不同,自动选择对应的函数调用! 为什么: 减轻调用者的负担,一个函数名,可执行多种操作 ...

  3. Spark Mllib里如何将数值特征字段用StandardScaler进行标准化(图文详解)

    不多说,直接上干货! 首先,要明白为什么有时候,数值特征字段需要进行标准化? 答:因为,当我们若用回归分析算法时,必须将数值特征字段进行标准化,这是因为数值特征字段单位不同,数字差异很大,所以无法彼此 ...

  4. php pack、unpack、ord 函数使用方法(二进制流接口应用实例)

    在工作中,我也逐渐了解到pack,unpack,ord对于二进制字节处理的强大. 下面我逐一介绍它们.在我们工作中,用到它们的估计不多. 我在最近一个工作中,因为通讯需要用到二进制流,然后接口用php ...

  5. android 插件化框架speed-tools

    项目介绍: speed-tools 是一款基于代理模式的动态部署apk热更新框架.插件化开发框架: speed-tools这个名字主要指的快速迭代开发工具集的意思. 功能与特性: 1.支持Androi ...

  6. (三)maven之一个基本的pom.xml

    一个基本项目的pom.xml文件,通常会有以下三部分: 一.项目坐标,信息描述等. <modelVersion>4.0.0</modelVersion> <groupId ...

  7. 在ABAP里模拟实现Java Spring的依赖注入

    Dependency Injection- 依赖注入,在Java Spring框架中有着广泛地应用.通过依赖注入,我们不必在应用代码里繁琐地初始化依赖的资源,非常方便. 那么ABAP能否从语言层面上也 ...

  8. select a.no,a.name,b.subid,b.subname,c.score

    select a.no,a.name,b.subid,b.subname,c.score from a,b,c  where a.no = c.no and b.subid = c.subid ;

  9. Node.js连接mysql报加密方式错误解决方案

    本人在学习全栈开发过程中做一个Node的web项目在连接本地MySQL8.0版本的数据库时,发现Navicat连接不上,它报了一个数据库的加密方式导致连接不上的错误,错误如下: MySQL8.0版本的 ...

  10. 如何在Mac OS X中开启或关闭显示隐藏文件命令

    打开终端,输入:defaults write com.apple.finder AppleShowAllFiles -bool true 此命令显示隐藏文件defaults write com.app ...