pandas常用于数据处理的模块

1、合并操作

pandas.merge

pandas.merge(left, right, how=’inner’, on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=(‘_x’, ‘_y’), copy=True, indicator=False)

作用:通过执行一个类似于数据库风格join的操作,来在columns(列)或者indexes(行)上合并DataFrame对象. 如果在columns和columns上面进行join,那么indexes就会被忽略.同样,要是在indexes和indexes之间或者indexes和columns之间进行join,那么index也会被忽略.
参数:
left : DataFrame
right : DataFrame

2.合并操作
pd.concat([data_train,dummies_Cabin,dummies_Embarked,dummies_Sex,dummies_Pclass],axis=1)
将所有的DataFrame 按列合并

append:将一行连接到一个DataFrame上

3、丢弃操作
pandasDataFrame.drop

DataFrame.drop(labels, axis=0, level=None, inplace=False, errors=’raise’)

作用:返回一个指定轴上label被移除之后的对象。
参数:
**labels : 一个或者一列label值
axis : int类型或者轴的名字,这个轴和labels配合起来,比如,当axis=0的时候,就是行上面的label,当axis=1的时候,就是列上面的label**
level : int or level name, default None
For MultiIndex
inplace : bool, 默认是False,这个表示是不是在原始的dataframe上面做替换。要是是Ture的话,原始dataframe会变化,同时返回的是None。
errors : {‘ignore’, ‘raise’},默认是‘raise’。要是是‘ignore’的话,就不管error,已经存在的labels会被丢弃。

4、编码
pandas.get_dummies()

把类别量装换为指示变量(其实就是one-hot encoding)

pandas.get_dummies(data, prefix=None, prefix_sep=’_’, dummy_na=False, columns=None, sparse=False, drop_first=False)

参数:
data : 类array类型,Series或者是DataFrame类型.
prefix : 字符串,或者字符串列表,或者字符串字典.默认为None,这里应该传入一个字符串列表,且这个列表的长度是和将要被get_dummis的那些列数量是相等的.同样,prefix选项也可以是一个把列名映射到prefixes的字典.

可以利用pandas 处理类目型的特征因子化
以Cabin为例,原本一个属性维度,因为其取值可以是[‘yes’,’no’],而将其平展开为’Cabin_yes’,’Cabin_no’两个属性
原本Cabin取值为yes的,在此处的”Cabin_yes”下取值为1,在”Cabin_no”下取值为0
原本Cabin取值为no的,在此处的”Cabin_yes”下取值为0,在”Cabin_no”下取值为1
我们使用pandas的”get_dummies”来完成这个工作
dummies_Cabin=pandas.get_dummies(*.Cabin, prefix=’Cabin’)
或者
dummies_Cabin=pandas.get_dummies(*[‘Cabin’], prefix=’Cabin’)
dummies_Cabin表示两列属性Cabin_yes 和 Cabin_no

例2.DataFrame

import numpy as np
import pandas as pd df = pd.DataFrame({‘A’: [‘a’, ‘b’, ‘a’], ‘B’: [‘b’, ‘a’, ‘c’],
‘C’: [1, 2, 3]})
print(“original:”)
print(df)
其中只要是类别相关的,都会被hot-encoding
每一个特征(原始形式的列名)下面有几种不同的类别,就会生成几列(比如A下面只有a和b两种形式,就会生成A_a和A_b两列)
原始为数字的那些特征,保持不变
prefix表示你对于新生成的那些列想要的前缀,你可以自己命名
df_dummy=pd.get_dummies(data=df,prefix=[“A”,”B”])
print(“get dummy:”)
print(df_dummy)
这里写图片描述

5、处理缺失值

pandas使用浮点数NaN(not a number)表示浮点和非浮点数组中的缺失数据.

pandas中,自己传入的np.nan或者是python内置的None值,都会被当做NaN处理,如下例.

import numpy as np
import pandas as pd
s=pd.Series(data=[“tom”,”jack”,”kate”,np.nan])
print(s)
s[0]=None
print(s)

查找缺失值
DataFrame.isnull()
作用,返回一个和原来DataFrame一样形状的,里面值为布尔型的DataFrame.

填充缺失值
pandas.DataFrame.fillna
使用指定的方法来填充缺失值,并且返回被填充好的DataFrame
DataFrame.fillna(value=None,method=None,axis=None,inplace=False,limit=None,downcast=None, **kwargs)
参数:
value : 可以是标量,字典,Series对象,DataFrame对象.value的作用就是用来填充那些缺失的部分.
method : 可选为{‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None}, 默认是None,
Method to use for filling holes in reindexed Series pad / ffill: propagate last valid observation forward to next valid backfill / bfill: use NEXT valid observation to fill gap
axis : {0 or ‘index’, 1 or ‘columns’}
inplace : 布尔值,默认为False.要是为True的话,那么就会就地修改.
limit : (对于前向填充和后向填充)可以连续填充的最大数量.

6.定位选择

.iloc[X轴的坐标,Y轴的坐标]
loc[‘行名’,’列名’] 可以确定一点
.values:表示数据
count.value_counts():表示统计

参考:http://blog.youkuaiyun.com/leadai/article/details/78839359
http://blog.youkuaiyun.com/chang___hong/article/details/72423898

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值