MySQL之pandas (1)

pandas是python的一个科学计算包,是一个强大的数据分析工具,常用于数据挖掘。 
导入Pandas的标准方式:import pandas as pd

1数据类型:series和dataframe

series:一维的数据类型,每个元素都有一个标签,series类似于Numpy中元素带标签的数组(标签可以是数字或者字符串)

dataframe:二维的表结构,Pandas的dataframe可以存储许多种不同的数据类型,并且每一个坐标轴都有自己的标签

2.读取cvs文件和处理缺失值

2.1读取cvs文件 
data=pd.read_cvs(‘file_path’) 
读取cvs文件,会使用浮点值“NaN”来表示浮点或非浮点数组中的缺失值 
这里写图片描述

2.2处理缺失值

处理NaN的方法有四种: dropna, drop, isnull, notnull

is(not)null:这一对方法对对象做出元素级的应用,然后返回一个布尔型数组,一般可用于布尔型索引。 
这里写图片描述

dropna:
    (1)对于一个Series,dropna返回一个仅含非空数据和索引值的Series
    (2)对于DataFrame的处理方式,一旦drop的话,至少要丢掉一行(列)
    dropna提供了额外的参数来解决这个问题
    dropna(axis,how,thresh,subset,inplace)
    axis:表示轴 axis=0表示删除一行(默认值为0)
    how:可选值为any或者how(all仅在切片元素全为NA时才抛弃该行(列))默认值为any
    thresh:thresh为整数类型,eg:thresh=3,那么一行的NaN至少为3才会被drop
    subset:通过subset来删除某些参数中含有NaN的行或列

这里写图片描述

    inplace:可选TRUE或者FALSE(TRUE表示在原始数据上进行操作,改变其结构)默认值为FALSE

之后再更新

3.数据预处理之独热编码(one-hot)

在很多机器学习任务中,特征不总是连续值,有些特征是离散特征值

对于一个特征,如果它有m个可能值,经过独热编码后,变成m个二元特征,这些特征互斥(因此,数据会变成稀疏)

下面的例子是一个关于用户对于淘宝商品的操作(浏览,收藏,加入购物车以及购买) 
先将这些特征值转换为数字(对应于1,2,3,4) 
但是有些情况下这些值还是不连续,会使得分类器在模型训练的时候带来很多误差

这里写图片描述

好处:(1)解决分类器不好处理属性数据的问题 (2)在一定程度上起到了扩充特征的作用
  • 1
  • 2

Pandas 数据合并的三种方式: 
1. pandas.merge()方法:数据库风格的合并;

合并的方式有:内连接,左连接,右连接,操作的对象是dataframe
pd.merge(df1,df2,on=“key”,how="left or right")
DataFrame还有一个join()方法可以以索引作为连接键

2. pandas.concat()方法:轴向连接,即沿着一条轴将多个对象堆叠到一起;

concat操作的对象是series。默认情况下,concat在竖轴(axis=0)上连接,产生一个新的series
pd.concat(s1,s2,axis=1)

3. 实例方法combine_first()方法:合并重叠数据。

s1.combine_first(s2)
posted @ 2018-08-29 16:10  飞哥霸气  阅读(255)  评论(0)    收藏  举报