【Hands-on Machine Learning】Chapter2-Part2:函数方法汇总|个人学习向笔记|随学习进度更新

1.函数及方法

1.1Pandas

1.1.1 Series类型数据定义与创建

Series具有index和value两个属性,可以看做定长有序字典类型,一维数据可以用来创建Series对象。
pandas.Series(data=None, index=None, dtype=None, name=None, copy=False, fastpath=False)
官方文件: https://pandas.pydata.org/docs/reference/api/pandas.Series.html?highlight=series#pandas.Series.
创建Series类型:
1)直接生成,index默认为整数序列:

In [42]: series = pd.Series([1,2,3])
In [43]: series
Out[43]: 
0    1
1    2
2    3

2)直接生成,自定义index内容(显示指定索引):

In [44]: series_1 = pd.Series([1,2,3],['a','b','c'])
In [45]: series_2
Out[45]: 
a    1
b    2
c    3

3)用字典类型生成,字典键值对与Series类型的index-value属性对应:

In [46]: series_2 = pd.Series({'a':4, 'b':5, 'c':6})
In [47]: series_2
Out[47]: 
a    4
b    5
c    6
dtype: int64

4)筛选字典类型中的指定索引内容生成新的Series类型:

In [53]: series_3 = pd.Series({'a':4, 'b':5, 'c':6}, index=['b','a'])
In [54]: series_3
Out[54]: 
b    5
a    4
dtype: int64

1.1.2 pandas DataFrame类型与numpy array类型转换

1)pandas DataFrame 类型转 numpy array 类型
方法1:使用DataFrame中的values方法:df.values
方法2:使用Numpy中的array方法:np.array(df)

import pandas as pd
import numpy as np

data = pd.DataFrame(np.arange(9).reshape(3,3),columns=list('ABC'))#创建DataFrame类型data
In [7]: data
Out[7]: 
   A  B  C
0  0  1  2
1  3  4  5
2  6  7  8

In [8]: data_1=data.values #方法1 p.s.原有方法df.as_matrix()在新版本中将被df.values取代
In [9]: data_1
Out[9]: 
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])

In [11]: data_3 = np.array(data) #方法2
In [12]: data_3
Out[12]: 
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])

2)numpy array 类型转 pandas DataFrame 类型:df = pd.DataFrame(arr)

import pandas as pd
import numpy as np

In [13]: arr=(np.arange(9).reshape(3,3)) #创建array类型arr
In [14]: arr
Out[14]: 
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])

In [15]: df = pd.DataFrame(arr)
In [16]: df
Out[16]: 
   0  1  2
0  0  1  2
1  3  4  5
2  6  7  8

在实践中可以根据需要为转化出的DataFrame类型添加columns的名称:columns=···

housing_tr = pd.DataFrame(X, columns=housing_num.columns)

1.1.3 统计计算相关method

pandas提供了许多可以用于统计学计算的方法(已经用到过median、corr):
在这里插入图片描述

1.1.4 pandas.DataFrame.dropna

用来清除缺失数据:Remove missing values.
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.dropna.html#pandas.DataFrame.dropna.
实例所涉及参数:subset
其用途为:Define in which columns to look for missing values.

import pandas as pd
import numpy as np
df = pd.DataFrame({"name": ['Alfred', 'Batman', 'Catwoman'],
                   "toy": [np.nan, 'Batmobile', 'Bullwhip'],
                   "born": [pd.NaT, pd.Timestamp("1940-04-25"),
                            pd.NaT]})
df
Out[6]: 
       name        toy       born
0    Alfred        NaN        NaT
1    Batman  Batmobile 1940-04-25
2  Catwoman   Bullwhip        NaT

df.dropna(subset=['name','born'])
Out[7]: 
     name        toy       born
1  Batman  Batmobile 1940-04-25

1.2 scikit-learn(sklearn)

scikit-learn官方网址: https://scikit-learn.org/stable/modules/classes.html.

1.2.1 sklearn.impute.SimpleImputer

用于处理数据中的丢失数据:
sklearn.impute: Transformers for missing value imputation.
1)定义与创建
sklearn.impute.SimpleImputer: Imputation transformer for completing missing values.
下述参数中,较常使用的为missing_values 和 strategy,后者用于确定填补缺失数据的方式:

class >>sklearn.impute.SimpleImputer(*, missing_values=nan, strategy='mean', fill_value=None, verbose=0, copy=True, add_indicator=False)

2)使用(相关方法)

method>>在这里插入图片描述

上述方法中,主要应用的为fit()fit_transform()transform(),所涉及的X为稀疏矩阵(相关定义见本文内容2.1),chapter2实战项目中所涉及的为fit()transform()两个方法。推荐使用fit_transform(),因为运行速度可以更快一些。

1.2.2 sklearn.preprocessing.OrdinalEncoder

用于text类型数据与number类型数据进行转换,以便后期的处理与计算:
sklearn.preprocessing: The sklearn.preprocessing module includes scaling, centering, normalization, binarization methods.
1)定义与创建
sklearn.preprocessing.OrdinalEncoder: Encode categorical features as an integer array.

class >> sklearn.preprocessing.OrdinalEncoder(*, categories='auto', dtype=<class 'numpy.float64'>)

2)使用(相关方法)

method>>
在这里插入图片描述

2.其他相关知识及操作

2.1稀疏矩阵(sparse matrix)

定义: 当矩阵中数值为0的元素数目远多于非零元素的数目,且非零元素分布并无规律时,该矩阵称为稀疏矩阵。相应的,当非零元素占多数时,矩阵称为稠密矩阵。
稠 密 度 = 非 零 元 素 总 数 / 矩 阵 元 素 总 数 稠密度=非零元素总数/矩阵元素总数 =/

2.2 IPython console

2.2.1 IPython内容清除

1)清除当前console内全部内容:clear
2)清除所有变量和console内全部内容:reset->y

2.2.2 Ipython字体大小调整

调小:ctrl + -
调大:ctrl + shift + +

2.3 Python中的类

2.3.1 定义类

类是拥有相同属性和方法的对象的集合。其中,对象是类的实例化,方法是类中定义的函数。

2.3.2 类的组成

1)名称:类名
2)属性:对象的特征
3)方法:对象可以进行操作的方法

2.3.3 类的操作

1)属性引用:object.属性
2)实例化:object = classname()
3)方法调用:object.methodname()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值