浅谈python的第三方库——pandas(二)
pandas使用小贴士
1 通过Series创建DataFrame
在pandas系列的第一篇博文中曾提到,Series可视为DataFrame的一种特例,即只有一列数据。既然如此,是否可以并列多个Series组成一个DataFrame呢?当然可以,通过这种方式创建DataFrame也称为用字典建立数据,由各列列名充当字典的键,该列数据构成的Series充当该键对应的值。示例如下:
上图中,Series类型充任df_1的第二列,因为pandas默认以“0,1,2,3”形式给行列命名,本例中,列名就是字典的键,行名默认自动生成,为了与已有行名对应,在创建第二列的Series时指定了行名index=list(range(4))。
另外,numpy中的一维数组也可以起到充当DataFrame某一列数据的作用,如果给某一列赋值时只有一个值,则pandas会自动根据行的数目重复该值以补全该列。
2 查看DataFrame的常用属性
注意:下面的例子是在一个新建的df_2上演示,同样通过上一小节介绍的字典方式创建,但数据量略微大一些。
2.1 查看各列数据类型
2.2 查看行列名和具体数据
使用values方法可以直接得到和numpy中一样的多维数组形式的数据类型。
2.3 查看数据描述
数据描述只是针对数值型数据给出某些列的统计信息。
对于pandas的一些转置、排序操作,这些方法和numpy中的方法无异,在此不再赘述。
3 设定条件选取数据
前一篇博文提到用行列名、行列位置以及二者混合的方式选取数据,其实还有一种通过给定条件选择数据的方法。
上图中,设置条件选择A列中大于零的值,然后将其所在的行抽取出来组成新的DataFrame。
当然,也可以在设定条件的同时,指定所要选取的列。
本期到此结束,后面将继续介绍pandas的常用操作。
浅谈python的第三方库——pandas(二)的更多相关文章
- 浅谈python的第三方库——pandas(一)
pandas作为python进行数据分析的常用第三方库,它是基于numpy创建的,使得运用numpy的程序也能更好地使用pandas. 1 pandas数据结构 1.1 Series 注:由于pand ...
- 浅谈python的第三方库——pandas(终)
作为pandas系列的最终章,本文引出一个数据"复制"问题. 示例如下: 从上图中可以看到:我们对data_pd做了删除一行的操作,但是这并没有改变变量data_pd在内存中的值, ...
- 浅谈python的第三方库——pandas(三)
令笔者对pandas印象最为深刻的一件事,就是在pandas中已经内置了很多数据导入导出方法,然而本人并不了解,在一次小项目的工作中曾手写了一个从excel表格导入数据到DataFrame的pytho ...
- 浅谈python的第三方库——numpy(一)
python作为广受欢迎的一门编程语言,其中很重要的一个原因便是它可以使用很多第三方库. 对第三方库的理解,在笔者看来就是一些python爱好者和专门的研发机构,为满足某一特定应用领域的需要,使用py ...
- 浅谈python的第三方库——numpy(终)
本文作为numpy系列的总结篇,继续介绍numpy中常见的使用小贴士 1 手动转换矩阵规格 转换矩阵规格,就是在保持原矩阵的元素数量和内容不变的情况下,改变原矩阵的行列数目.比如,在得到一个5x4的矩 ...
- 浅谈python的第三方库——numpy(二)
前一期博文中,初步探索了numpy中矩阵的几种运算操作,本文将展示numpy矩阵的元素抽取与合并操作. 1 元素抽取 在我们使用矩阵的时候,有时需要提取出矩阵的某些位置上的元素单独研究,这时就需要熟悉 ...
- 浅谈python的第三方库——numpy(三)
numpy库中矩阵的常用方法 1 矩阵转置 从上图可以看出:使用方法a.T可以将矩阵a转置. 2 均值与方差 注意:方法a.mean()会对矩阵a的所有元素求均值,a.var()也是考虑矩阵a的所有元 ...
- python重要第三方库pandas加载数据(详解)
Pandas数据加载 关注公众号"轻松学编程"了解更多. pandas提供了一些用于将表格型数据读取为DataFrame对象的函数,其中read_csv和read_table这两个 ...
- 浅谈python中selenium库调动webdriver驱动浏览器的实现原理
最近学web自动化时用到selenium库,感觉很神奇,遂琢磨了一下,写了点心得. 当我们输入以下三行代码并执行时,会发现新打开了一个浏览器窗口并访问了百度首页,然而这是怎么做到的呢? from se ...
随机推荐
- c++中值传递,址传递,引用传递
概念详解 1. 值传递: 形参是实参的拷贝,改变形参的值并不会影响外部实参的值. 从被调用函数的角度来说,值传递是单向的(实参->形参),参数的值只能传入,不能传出: 当函数内部需要修改参数,并 ...
- C++零食:WTL中使用双缓冲避免闪烁
双缓冲的原理可以这样形象的理解:把电脑屏幕看作一块黑板.首先我们在内存环境中建立一个"虚拟"的黑板,然后在这块黑板上绘制复杂的图形,等图形全部绘制完毕的时候,再一次性的把内存中绘制 ...
- DOCKER 学习笔记8 Docker Swarm 集群搭建
前言 在前面的文章中,已经介绍如何在本地通过Docker Machine 创建虚拟Docker 主机,以及也可以在本地Windows 创建虚拟主机,也是可以使用的.这一节,我们将继续学习 Docker ...
- 《剑指Offer》第二章(一)题 9 -12
第二章 面试题9:用两个栈实现队列 题目:如面试题,给你两个栈, 实现队列的先进先出,即在队列头删除一个元素以及在队列的尾部添加一个元素 思路:这个题的分析感觉很巧妙,从一个具体的例子入手,找出其中的 ...
- Shell: 定期存档日志文件
简介 对于日志的分割删除我们一般会使用logratate,但对于项目较多的情况下,会让开发直接将日志分割写在代码里面,对于分割后过期的日志定期删除就很有必要,不然膨胀的日志会占满你的磁盘,将多余的日志 ...
- 五种编程语言解释数据结构与算法——顺序表1(理论与C语言实现)
1.线性表的分类 2.线性表的定义及其基本操作 2.1.定义:线性表是具有相同类型的n(n>=0)个元素的有序序列,其中n为表长,当n=0时,该表为空表. 2.3.线性表的逻辑结构为: 2.4. ...
- jQuery 基础 (笔记源于runoob)
您需要具备的基础知识 在您开始学习 jQuery 之前,您应该对以下知识有基本的了解: HTML CSS JavaScript jQuery ? jQuery是一个JavaScript函数库. jQu ...
- LeetCode 684. Redundant Connection 冗余连接(C++/Java)
题目: In this problem, a tree is an undirected graph that is connected and has no cycles. The given in ...
- [Effective Java 读书笔记] 第二章 创建和销毁对象 第一条
第二章 创建和销毁对象 第一条 使用静态工厂方法替代构造器,原因: 静态工厂方法可以有不同的名字,也就是说,构造器只能通过参数的不同来区分不同的目的,静态工厂在名字上就能表达不同的目的 静态工厂方法 ...
- ospf路由协议源码学习
目前,主要有两个版本的源码实现,一是quagga,一是bird. quagga的代码大概有3-4万行,有提到unnumbered interface, bird的代码大概1万行,但没有提到unnumb ...