Ch5 Getting started with pandas 笔记 《python for data analysis》

Chapter 5 Getting started with pandas

之前没有系统看过这本书,现在准备在blog上写笔记,记录一些以前没注意的或是觉得重要的,略去一些已知的

Data Frame 基本

  • df.head()会显示前5行用于展示
  • 给已有df添加列,若用list array加,其长度要与原先相同,若用Series则不必In [57]: frame2
  • Out[57]:
    year state pop debt
    one 2000 Ohio 1.5 0.0
    two 2001 Ohio 1.7 1.0
    three 2002 Ohio 3.6 2.0
    four 2001 Nevada 2.4 3.0
    five 2002 Nevada 2.9 4.0
    six 2003 Nevada 3.2 5.0
  • In [58]: val = pd.Series([-1.2, -1.5, -1.7], index=['two', 'four', 'five'])
    In [59]: frame2['debt'] = val
    In [60]: frame2
    Out[60]:
    year state pop debt
    one 2000 Ohio 1.5 NaN
    two 2001 Ohio 1.7 -1.2
    three 2002 Ohio 3.6 NaN
    four 2001 Nevada 2.4 -1.5
    five 2002 Nevada 2.9 -1.7
    six 2003 Nevada 3.2 NaN
  • 为一个不存在的列赋值会创造一个新列,del 可以删除列
  • (重要)对于df一些操作返回的Series的修改会反应在原df上(The column returned from indexing a DataFrame is a view on the underlying data, not a copy.)
  • 可以用DF.T来转置dataframe

Index Object

用作dataframe index的输入list,array等会被转为index object,且是不可转变修改的(immutable)

index可以存在重复

Essential Functionality

reindex:

根据已有df和给定index创建一个新的index

droup

将多行或多列(加参数 axis=1)删掉,返回一个新的df

Indexing, Selection, and Filtering

Series可以和array一样操作

DataFrame一般可以用df['column_name']来索引列,或df[['column_name1', 'column_name2']]索引多列

要索引行:df[:3],但直接df[2]不行

df<5,会返回bool df,可以用来index data[data<5]

ioc和iloc

ioc: 用axis label,iloc:用integer索引

data.loc['Colorado', ['two', 'three']]

data.iloc[2, [3, 0, 1]]

data.iloc[[1, 2], [3, 0, 1]]

data.loc[:'Utah', 'two']

Arithmetic and Data Alignment

 Series或者DataFrame加减时,需要index或者index,column一致,不一致的会显示Nah

Nah值操作

用add等方法df1.add(df2, fill_value=0)

Function Application and Mapping

首先,numpy的element-wise 方法依然适用:

或者,对某个单行或单列的操作应用在每一行或列

默认是得到每列不同行的结果,对行操作

当指定 axis='columns'则得到每行不同列的汇总结果,对列操作

也可以返回特定结果

对于element-wise的python方程,用df.applymap(),若是Series用series.map()

Sorting and Ranking

  • sort_index()

可以指定行列或者升降序:

frame.sort_index(axis=1, ascending=False)

  • sort_values() 默认Nah到最后
  • rank() 赋给每个元素其排名,若一样的会用均值

对于一样的也可以用出现顺序排

  • 在DataFrame中可以对每一行或列单独rank()操作

一些应对排序时同样大小的方法(tie-breaking):

Summarizing and Computing Descriptive Statistics

  • sum() mean() 等
  • 一些可选参数:

  • *describe()可以显示各种数据描述性信息

方法:

Correlation and Covariance

相关性统计:.corr()

协方差:.cov()

Dataframe 计算一列与其他列的:corrwith()

Unique Values, Value Counts, and Membership

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值