Pandas:Getting started


  • 强推Theodore Petrou的《Pandas Cookbook》(2017 Packt Publishing)以及pandas的官方手册(pandas的官方文档写的太棒了)

pd.DateFrame对象

  • 以下df均代表pd.DataFrame对象
  • 以下s均代表pd.Series对象
  • obj代表大多数类型的对象,包括前两个
  • 一个pd.DataFrame对象的结构如下:
  • 一个pd.Series对象的结构如下:
  • SeriesDataFrame有大量相同的方法,Series有442个,DataFrame有445个,其中相同的数目为376个。
  • 以下出现的方法基本是二者通用的。

数据探索

读入数据

  • pd.read_csv():

初步探索

  • df.head()or df.tail():
  • df.shape:
  • df.info():
  • df.index:
  • df.columns:
  • df.dtypes: 显示各列的类型
  • df.get_dtype_counts(): 统计各列的类型
  • df.ndim:

进一步探索

  • df.value_counts()ordf.value_counts(normalize=True): 返回各个值的个数
  • df.sizeordf.shape:
  • df.count():
  • df.describe(): 默认describe数值类型的列
    df.describe(include=[np.object, pd.Categorical]): 非数值类型
    其实可以通过查看对应列的类型来获取有哪些类型可以放在include
  • df.min(),max(),mean(),median(),std(), sum():
  • s.quantile(): 例如参数为.2or0.2则返回在20%位置的数
  • s.isnull()ors.notnull():返回一个同shape的bool序列
  • s.hasnans: 检测是否有nan
  • s.all():
  • s.any():

探索对象类型

  • type(obj): Python内置函数,返回对象的类型信息。
  • issubclass(): 返回布尔值,这是Python内置函数,验证了类之间是否有父子关系。

提取列

  • df.col_nameordf['col_name']:
  • s.values: 返回序列的np.ndarray类型
  • Index_obj.tolist(): 将pd.Index对象转成Python的list

提取行

  • df.iloc[num_index_list]:用整数列表选取指定的行,也可使用[start, stop, step]格式
  • df.loc[]:

初步处理

  • s.fillna(): 返回一个nan被填充之后的序列,填充的是给的参数
  • s.dropna(): 返回一个nan被剔除之后的序列
  • s + 1: 序列中每个元素加1
  • - * / ** // %: 均可操作
  • s > 1:返回同shape的bool序列
  • < >= <= == !=: 均可操作
    注:这些基本运算符都是和序列里的每一个元素进行运算。以上基本运算符也有对应的方法版本,如下:
  • s. add(1) sub() mul() div() floordiv() mod() pow() lt() gt() le() ge() eq() ne()

进一步处理

  • df.det_index('index_name') or df = pd.read_csv('file_name', index_col='index_name'): 设置index的列名字
  • df.reset_index(): 上面的撤销操作
  • df.rename(index={}, columns={}): 用字典替换指定的index_label和column_name
  • df['new_col'] = objordf['new_col'] = (df['col_name1'] + df['col_name2']):
  • df.drop('col_name', axis='columns') :
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,391评论 0 13
  • pandas模塊 基本属性 df.dtypes: data type of columns列...
    wong小尧阅读 1,218评论 0 2
  • 本文翻译自文章:Pandas Cheat Sheet - Python for Data Science,同时添加...
    oyan99阅读 361评论 0 1
  • 官方教程 读取写入文件 官方IO 读取 写入 read_csv to_csv read_excel to_exce...
    MiracleJQ阅读 7,072评论 0 16
  • 自假期买了那沈三白的《浮生六记》以来,常常使人愁的坐也不是,站也不是。其中的缘由且听我慢慢道来。 买书...
    廿易阅读 124评论 4 2