数据处理笔记

查看数据

print(train.head(10)) 显示前10条信息

显示为NaN的为空值,需要进行填充处理,SVM/神经网络 对于 空值/离散值 不具有容忍性。

树模型是具有容忍性的非数值型参数最后都需要化成数值型

type(train)----结果是 pandas.core.DataFrame---DataFrame 表示一张二维的数据表,有行和列。

pd.DataFrame()---将数据转换成表格 train.info----查看数据信息,可以看到哪些数据有缺失值

数据类型 train.get_dtype_counts()---查看每种数据类型的数数据查找

找出符合条件的数据: train.query('条件')

另一种写法:train[train.条件]---(例如:train[train.salary>2000])量 train.isnull()---查看是否有空值,是空值的地方为true

数据查找:

找出符合条件的数据: train.query('条件'),另一种写法:train[train.条件]---(例如:train[train.salary>2000])

联合查找:(数据表名称--后面都用train代替).query('条件' and '条件2')

选出特定的列:train.fliter(item = [' 列名 ', ' 列名 ' ])。简化写法:train[ [' '], [' '] ]

选出特定的行:train.filter( 'like = 2', axis =0 )。 表示选出第二行,axis=0表示选取,等于1表示选取列

分组:train.groupby( [ '某项属性' ] ).count()。以这种属性进行分组。显示他们的个数

判断分布

统计函数:train.desccribe( )。描述数据的统计特征

判断数据是否是正态分布:判断数据的偏度,如果是偏态分布,将其转变为正态分布(取对数等等)---   np.log(train[ '  ' ])

如果偏度偏向右边,那么可以对相应的值(最大值)进行强改,train( ' ' ) == 数值

生成随机数:np.random.rand(5)。生成5个大小再[0,1)之间的数

以某种属性进行求取平均值:train.groupby( [ '某项属性' ] ).mean()。

统计函数:.mean(),.sum(),.stdz(),.max,.min,.count()

排序

对列进行排序:    .某列的名称.sort_values(  )

对DataFrame(表格)进行排序:  .sort_values( by = ' 某项列属性 ' )

多属性排序: .sort_values( by =[ '   '  ,   '   ' ])

自降排序: .sort_values( by =[ '   ' ],ascending = False)

DataFrame(表格)的增删改查

选择某一行: train.iloc[ 0 ]   选择第一行,行是哈希表属性。

可以进行选取行中某个属性:train.iloc[ 0 ] [ ' ' ]

可以使用行名来访问某一行:    train.loc[ ' ' ]

访问某一行或者某一列:train.loc[ 0,1 ]----选择第一行第二列

数据的修改: 1.   .at[ 1, ' data ' ] = 1  将属性为data的列的第一个元素改为12.   .iat[ 1 , 1 ] = 2 表示将数据的第二行和第二列的数据变为2

添加数据

添加一行数据: 1.    .train.append( { ' a ': 2,... } ,ingore = True)。使用append添加的必须是dict的形式。不会改变原始数据表的内容。2.  .loc[ 6 ] = [ '  ', '  ' ]。增加第六行数据

添加一列数据:1.   .assign(aaa = [ 1, 2 ,3 ])。 增加一列名字为aaa的数据,值为1 2 3。不会改变原数据。2.   .loc[ :,' aaa ' ] = [ 1, 2 ,3 ] 。再原来的列表中增加一列

统计DataFrame(表格)的空值:train.isnull.sum()---统计空值的个数

缺失值的填充:

1.均值填充---train.mean()

2.中位数填充---train.median()

3.函数填充(可以和数据集的某些列产生函数关系)

填充办法: .fillna( 填充条件 )。例:.fillna(train.mean())----均值填充

 正态分布中单一数据对于数据集的影响:

山顶/位于95%+的数据----峰度+影响。峰度偏高

山腰---降低峰度

离散值填充

1.空值填充---就是增加一个None

2.高频填充

3.关系填充(数据的含义,参考其他的列进行填充)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值