Pandas学习随笔(1)

前言

虽然说一直都有使用过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去下个章节了。。)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,377评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,390评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,967评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,344评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,441评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,492评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,497评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,274评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,732评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,008评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,184评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,837评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,520评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,156评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,407评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,056评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,074评论 2 352