Pandas 的使用

1. 访问df结构中某条记录使用loc或者iloc属性。loc是按照index或者columns的具体值,iloc是按照其序值。访问类似于ndarray的访问,用序列分别表示一维和二维的位置。

  例如:missing_data.loc['MasVnrType']  访问index为'MasVnrType'的行(如果有多行,才需要两对中括号,里面的中括号表示index列表

     missing_data.loc['MasVnrType', 'Total']  用来访问index为'MasVnrType',columns为'Total'的数据

     missing_data.loc[['MasVnrType', 'MasVnrArea'], ['Total']]  访问index为'MasVnrType', 'MasVnrArea', columns为'Total'的数据

     missing_data.iloc[[1]]  表示index序值为1的记录(0-indexed)

In [1]: df = DataFrame(randn(5,2),index=range(0,10,2),columns=list('AB'))

In [2]: df
Out[2]: 
          A         B
 1.068932 -0.794307
-0.470056  1.192211
-0.284561  0.756029
 1.037563 -0.267820
-0.538478 -0.800654

In [5]: df.iloc[[2]]
Out[5]: 
          A         B
-0.284561  0.756029

In [6]: df.loc[[2]]
Out[6]: 
          A         B
-0.470056  1.192211
示例代码

2. 对数据变量进行标准正态化分布类 sklearn.preprocessing.StandardScaler http://sklearn.lzjqsdd.com/modules/preprocessing.html

3. Pandas 中的空值用 None 表示

4. 两个逻辑值序列求交或者并用 & 符号或者 | 符号

5. NaN 参与数值运算的结果仍然为 NaN

6. 如果需要在 IPython Notebook 中显示作图,需要加上 %matplotlib inline

7. 将属性值作为列名进行行列转换

  1. MultiIndex 对象

    构建有两种方式,一种是通过 index 元组的方式,一种是通过多维列表交叉组合的方式。

  2. 在通过 Series 的 unstack 方法将某一级标签转换到 columns 上。

    level 参数指定转换的标签级,-1表示最里面一级。

8. 如何改变 index 或 columns 的顺序

  1. 一种方式是通过 reindex_axis 函数

  2. 另外一种方式是通过重新赋值来改变

    test_df = test_df[train_df.columns]

    改变 index 顺序:test_df = test_df.loc[index]

9. 将带有 multi-level index 的 DataFrame 对象的 index 转换为对应的 columns 插入到原本的 DataFrame 中。

  pd.DataFrame.reset_index() 函数可以完成上述功能

  也可以时使用 MultiIndex 对象的 to_frame() 函数直接将 MultiIndex 转换为 DataFrame。

 

posted @ 2017-07-06 09:55  hopelee  阅读(384)  评论(0编辑  收藏  举报