Pandas基础学习

Pandas基础

Pandas基础学习

一、文件的读取与写入

1. 读取

  • csv格式
    Pandas基础学习

  • txt格式
    Pandas基础学习

  • xls 或 xlsx格式
    Pandas基础学习

2. 写入

  • csv格式
    Pandas基础学习
  • xls 或 xlsx格式
    Pandas基础学习

二、基本数据结构

1. Series

  • 创建一个Series
    对于一个Series,其中最常用的属性为值(values),索引(index),名字(name),类型(dtype)
    Pandas基础学习
  • 访问Series属性
    Pandas基础学习
  • 取出某一个元素
    之后会再次讨论索引的详细应用
    Pandas基础学习
  • 调用方法
    Pandas基础学习
  • Series有相当多的方法可以调用:
    Pandas基础学习

2. DataFrame

  • 创建一个DataFrame
    Pandas基础学习
  • 从DataFrame取出一列为Series
    Pandas基础学习
  • 修改行或列名
    Pandas基础学习
  • 调用属性和方法
    Pandas基础学习
  • 索引对齐特性
    这是Pandas中非常强大的特性,不理解这一特性有时就会造成一些麻烦
    Pandas基础学习
  • 列的删除与添加
    对于删除而言,可以使用drop函数或del或pop
    Pandas基础学习
    pop方法直接在原来的DataFrame上操作,且返回被删除的列,与python中的pop函数类似
    Pandas基础学习
    可以直接增加新的列,也可以使用assign方法
    Pandas基础学习
    但assign方法不会对原DataFrame做修改
    Pandas基础学习
  • 根据类型选择列
    Pandas基础学习
  • 将Series转换为DataFrame
    Pandas基础学习
    使用T符号可以转置
    Pandas基础学习

三、常用基本函数

下面都是用到这份虚拟的数据集
Pandas基础学习

1. head 和 tail

Pandas基础学习

2. unique 和 nunique

Pandas基础学习

3. count 和 value_counts

Pandas基础学习

4. describe 和 info

Pandas基础学习
Pandas基础学习

5. idxmax 和 nlargest

Pandas基础学习

6. clip 和 replace

clip和replace是两类替换函数
Pandas基础学习
Pandas基础学习

7. apply函数

apply是一个*度很高的函数,在第3章我们还要提到
Pandas基础学习

四、排序

1. 索引排序

Pandas基础学习

2. 值排序

Pandas基础学习

五、问题和练习

1. 问题

【问题一】 Series和DataFrame有哪些常见属性和方法?
data:数据。
index:索引
dtype:输出数据的类型
name:Series名称
copy:复制数据。bool型,默认为False
Series其中最常用的属性为:值(values),索引(index),名字(name),类型(dtype)……

函数原型是:DataFrame([data, index, columns, dtype, copy])
DataFrame:索引(index),列(column),形状(shape),均值(mean)……

【问题二】 value_counts会统计缺失值吗?
value_counts不会统计缺失值
Pandas基础学习
【问题三】 与idxmax和nlargest功能相反的是哪两组函数?
Pandas基础学习
【问题四】 在常用函数一节中,由于一些函数的功能比较简单,因此没有列入,现在将它们列在下面,请分别说明它们的用途并尝试使用。
sum/mean/median/mad/min/max/abs/std/var/quantile/cummax/cumsum/cumprod

参数 axis

axis=0 对每一列进行操作

axis=1 对每一行进行操作

参数 skipna

计算中,pandas 会默认排除NaN值,设置 skipna=False 将不再排除 NaN 值

sum 函数:
Pandas基础学习

mean 函数:
Pandas基础学习

median 函数:
Pandas基础学习

mad 函数:
Pandas基础学习

min 函数 和 max 函数:
Pandas基础学习

abs 函数:
Pandas基础学习

std 函数:
Pandas基础学习

var 函数:
Pandas基础学习

quantile 函数:
Pandas基础学习

cummax 函数:
Pandas基础学习

cumsum 函数:
Pandas基础学习

cumprod 函数:
Pandas基础学习

【问题五】 df.mean(axis=1)是什么意思?它与df.mean()的结果一样吗?第一问提到的函数也有axis参数吗?怎么使用?
不一样,使用情况如下解释:
Pandas基础学习

2. 练习

【练习一】 现有一份关于美剧《权力的游戏》剧本的数据集,请解决以下问题:
(a)在所有的数据中,一共出现了多少人物?
(b)以单元格计数(即简单把一个单元格视作一句),谁说了最多的话?
(c)以单词计数,谁说了最多的单词?
Pandas基础学习
Pandas基础学习

【练习二】现有一份关于科比的投篮数据集,请解决如下问题:
(a)哪种action_type和combined_shot_type的组合是最多的?
(b)在所有被记录的game_id中,遭遇到最多的opponent是一个支?
Pandas基础学习
Pandas基础学习
Pandas基础学习