美文网首页我爱编程
Pandas学习随笔(1)

Pandas学习随笔(1)

作者: 栽生物坑里的信息汪 | 来源:发表于2018-05-02 15:39 被阅读0次

前言

虽然说一直都有使用过python的pandas,但是其实很多时候都是使用些基本的东西,毕竟如果不注重效率的话,很多时候也不用在意更加高级的用法,或者更加基础和正规的用法。由于最近多了个经常会被抠细节的师妹,我觉得还是用一些业余时间将这个pandas快速的过一遍,而且其实也经常遇到类似于reshape这样的操作,虽然可以用更为复杂的方法解决,但是毕竟不够优雅。以下从一个半路开始学起pandas的人的角度开始记录pandas中的一些内容。不可能面面俱到,但可能会有写独特的角度,以及可以快速的浏览很多。
主要使用的教程就是pandas官方的doc

10min快速入门部分

import pandas as pd
# 创建object
pd.date_range #创建时间序列
pd.DataFrame #从多种input创建dataframe,主要使用的数据结构
# 查看object
import pandas.DataFrame as df
df.head
df.tail
df.describe
# 获取
df['A'] #获取A列
df[0:3] #获取前3行
df.loc[]
df.iloc[]
df.at[] #等同于df.loc,但似乎用这个来赋值更快速
df.iat[] #等同于df.iloc 更快
# 布尔值
df[df.A > 0]
# 赋值
#类似于获取值与布尔值
df2[df2 > 0] = -df2 #这个比较神奇,会自动截取
# 处理缺失值
df.reindex #可以用以重新构造轴的形状,缺失值以np.nan填充
df.dropnan #对某一轴进行操作,若含有nan可直接丢一行/列,可选nan的数量阈值
df.fillna #同上,不过是填充
df.isna #返回同等shap的布尔矩阵
# 计算操作
df.mean 
pd.Series.shift # 很神奇的操作,偏移N位,多出的值以np.nan填充,用以特殊操作吧。例如处理时间序列时,可用于规整、对齐时间
df.sub

# 映射操作
df.apply # 循环递归指定的轴,每一个轴抽出作为series作参数传入指定的函数。

# 其它操作
pd.Series.value_counts # 可以作为collections.Counter的pandas版本
pd.Series.str.blablabla  # 对每个对象以string的方法进行变换,例如大小写转化

# 合并部分
pd.concat
pd.merge
pd.DataFrame.join

# 增加行列
pd.DataFrame.append  # 增加行,而且多出的列会自动扩展
pd.DataFrame.loc # 增加列

# 分组   较为陌生的部分
## 分
df.groupby # 分组方式可以是指定轴的值,也可以是一个函数,例如可以从原本只是样本id,利用函数将其以metadata中的信息来分组
## 映射函数到各组
df.groupby.agg() # 对每列进行np.sum、np.mean等方法的操作
## 有趣的例子
df = pd.DataFrame({'a':[1,0,0], 'b':[0,1,0], 'c':[1,0,0], 'd':[2,3,4]})
df.groupby(df.sum(), axis=1).sum()
# 用df.sum()作为分组的series,将df的4列分为2组,按照这个组别,进行sum,index不受影响,所以得到3x2的结果。

# 重塑 (Reshape)
df.stack  # stack 代表压缩,默认是最后一个轴压缩,并成为multiindex的一部分
df.unstack # 即解压缩,所以可以将倒数第一个index进行解压缩,添加了最后一个轴,同样的也可以指定multiindex的其它轴,以序号代表,默认是mutliindex的最后一列。
df.pivot_table 
df.pivot  # 以上两个应该差不多,都是可以从原df中抽取指定列,重新构造成index、columns、values等的。对于分离类别变量和连续变量的表格十分有用,并且也是重塑了df的形状。

# df的数据类型:类别(category)
# 可以通过设置类型来进行类别的操作,例如统计、批量快速重命名、

# IO操作
pass 很熟悉了

(感觉自己只是翻译了一遍,外加自己查阅了一些官方的help,随意吧。。。见仁见智吧。。。pass去下个章节了。。)

相关文章

  • Pandas学习随笔(1)

    前言 虽然说一直都有使用过python的pandas,但是其实很多时候都是使用些基本的东西,毕竟如果不注重效率的话...

  • Pandas基础之DataFrame,Series

    pandas使用(1) note:学习环境python3.5,pandas库 pandas是基于NumPy的一个非...

  • 03.pandas基础操作

    3、pandas基础操作 1. pandas 介绍 1.1 为什么学习pandas numpy已经可以帮助我们进行...

  • pandas学习-1

    Pandas数据结构Series:基本概念及创建 "一维数组"Serise ` Series 数据结构 Serie...

  • Pandas 学习(1)

    Pandas 学习 基本命令 导包 数据的导入文件 数据的检查和查看查看数据框的前几行chipo.head(n) ...

  • pandas学习1

    Series series 是一种类似一维数组的对象,它由一组数据(不同数据类型)以及一组与之相关的标签(索引)组...

  • 大师兄的Python机器学习笔记:Pandas库

    大师兄的Python机器学习笔记:实现评估模型 一、关于Pandas 1. Pandas和Numpy Pandas...

  • 如何使用pandas进行数据测试

    pandas学习记录 环境配置 1.python3.6.5 pandas0.19.2 pip install pa...

  • 欠缺技术

    1.pandas系统学习,pandas dask airflow 3.pyspark 4.amazon RedSh...

  • Pandas笔记1-导入csv文件

    1 本文适合读者 刚开始学习Pandas的新手 2 环境 Python 3.7.0Pandas 0.23.4Num...

网友评论

    本文标题:Pandas学习随笔(1)

    本文链接:https://www.haomeiwen.com/subject/xvccrftx.html