[数据分析工具] Pandas 不可不知的功能(一)

  • 如果你在使用 Pandas(Python Data Analysis Library) 的话,下面介绍的对你一定会有帮助的。

首先我们先介绍一些简单的概念

  • DataFrame:行列数据,类似 Excel 的 sheet,或关系型数据库的表
  • series:单列数据
  • axis:0:行,1:列
  • shape:DataFrame的行列数,(行数,列数)

1. 加载 CSV

Read_csv 方法有很多参数,有效的利用这些参数可以减轻数据预处理的工作。谁都不愿意做数据清洗,那么我们就在加载数据的时候做一些简单的数据处理

  • 直接加载
    • 无参数加载
    • 选择特定列加载
    • 时间转换加载
  • 分批加载

    有时我们可能需要加载的 csv 太大,可能会导致内存爆掉,这时候,我们就需要分批加载数据进行分析、处理

2. 浏览 DataFrame 数据

  • df.head(n):浏览数据的前 n 行,默认 5 行
  • df.tail(n):浏览数据的末尾 n 行,默认 5 行
  • df.sample(n):随机浏览 n 行数据,默认 5 行
  • df.shape:tuple 类型的数据行列数,(行数,列数)
  • df.describe():计算评估数据的趋势
  • df.info():内存和数据类型

3. 在 DataFrame 中增加列

在 DataFrame 中添加新列的操作很简单,下面介绍几种方式

  • 简单方式

    直接增加新列并赋值

    df['new_column'] = 1

  • 计算方式

    df['temp_diff'] = df['atemp'] - df['temp']

  • 条件方式

    我们仅仅根据风速,简单判断一下人体舒适度,体感比较舒服的温度是 0.3 米/秒

  • 循环方式

    我们将 season 转换为具体季节的名称

4. 选择指定单元格

类似于 Excel 单元格的选择,Pandas 提供了这样的功能,操作很简单,但是我本人理解起来确实没有操作看上去那么简单。Pandas 提供了三个方法做类似的操作,loc,iloc,ix,ix 官方已经不建议使用,所以我们下面介绍 loc 和 iloc

  • loc 根据标签选取loc

df.loc[行索引开始位置:行索引结束位置,[列名数组]]

  • iloc 根据索引选取

    df.iloc[行索引开始位置:行索引结束位置,列索开始位置:列索引结束位置]

  • 选取行数据
  • df.loc[[行索引数组]],df.iloc[[行索引数组]]

注意:

  • 索引开始位置:闭区间
  • 索引结束位置:开区间
  • loc 和 iloc 选取整列数据的时候,看上去与 df[列名数组] 的方式一致,但是其实前者返回的仍然是 DataFrame,后者返回的是 Series

 知乎:Pandas 功能介绍(一)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据结构与算法

3002 石子归并 3

 时间限制: 1 s  空间限制: 256000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果 题目描述 Description 有n堆石子...

35070
来自专栏互联网高可用架构

伪共享和缓存行

16320
来自专栏图形学与OpenGL

WebGL画点程序v3

本文程序实现画一个点的任务,如下图。其中,点的颜色由Javascript传到片元着色器程序中。

14520
来自专栏xcywt

编译到底做了什么(***.c -> ***.o的过程)

 (第一次写博客,好激动的说.......) 我们知道,一个程序由源代码到可执行文件往往由这几步构成: 预处理(Prepressing)-> 编译(Compil...

20850
来自专栏点滴积累

geotrellis使用(十四)导出定制的GeoTiff

Geotrellis系列文章链接地址http://www.cnblogs.com/shoufengwei/p/5619419.html 目录 前言 需求说...

31360
来自专栏一个会写诗的程序员的博客

一致性(连续性)hash算法(Consistent hashing)一致性(连续性)hash算法(Consistent hashing)

Consistent hashing is a scheme that provides hash table functionality in a way t...

14120
来自专栏gaoqin31

设计模式之 UML

今年接手的一个计费项目让我痛苦不堪,里面到处充斥着重复冗余的代码,一个简单的需求往往需要改n个地方,而且很多改动牵一发动全身,这个项目涉及到支付,出问题就是损失...

28820
来自专栏图形学与OpenGL

WebGL画点程序v2

本文程序实现画一个点的任务,如下图。其中,点的位置坐标由Javascript传到着色器程序中,而不是直接给定(“硬编码”)在顶点着色器中。

12040
来自专栏FreeBuf

使用Burpsuite扩展Hackvertor绕过WAF并解密XOR

最近,我一直在忙于开发自己的一个Burp扩展Hackvertor。这是一个具有基于标签转换功能的编码器,相比起Burp内置的解码器它的功能要强大的多。通过标签的...

14710
来自专栏架构说

Effective STL(21) 永远让比较函数对相同元素返回false

问题描述: 昨天一哥们些的程序,在定义比较函数的时候是这样写的 bool cmp(const T& a, const T& b) { if (a >=...

38390

扫码关注云+社区

领取腾讯云代金券