python数据转换

学习笔记

1.删除重复值

DataFrame的duplicated方法返回的是一个布尔值Series, 反映的是每一行是否存在重复

drop_duplicates 返回的是DataFrame,内容是duplicated返回数组中为False的部分

以上方法默认对列进行操作,可以指定数据的任何子集来检测是否有重复
默认保留第一个观测到的值,传入参数keep='last’将返回最后一个

2.使用函数或映射进行数据转换
基于DataFrame中的数据、列或列中的数值进行一些转换
先写关系映射
Series 的map方法接收一个包含映射关系的字典型对象

3.替代值
replace方法

4.重命名轴索引
可以通过函数或某种形式的映射对轴标签进行类似的转换,生成新的且带有不同标签的对象,也可以在不生成新的数据结构的情况下修改轴
data.index.map(transform)

如果想创建数据集转换后的版本,且不修改原有数据集
data.rename(index=str.title,columns=str.upper)

5.离散化和分箱
连续值经常需要离散化或者分离成“箱子”进行分析
分组可使用pandas中的cut
pd.cut(yourgroup,bins,labels=groups_names)

如果传给cut整数个箱来代替显式的箱边,pandas将根据数据中的最小值和最大值计算出等长的箱
pd.cut(data,4,precision=2)
4指切成4份
precision=2的选项将十进制的精度限制在2位

qcut是一个与分箱密切相关的函数,它基于样本位数进行分箱,取决于数据的分布,使用cut通常不会使每个箱具有相同数据量的数据点

6.检测和过滤异常值
找出某一列
col=data[2]第三列
col[np.abs(col)>3]绝对值大于3
要选出所有的,使用any方法
data[(np.abs(data)>3).any(1)]
根据数值中的正负分别生成1和-1的值
np.sign(data).head()

7.置换和随机抽样
使用numpy.random.permutation对DataFrame中的Series或行进行置换非常方便
调用permutation时根据你想要的轴长度可以产生一个表示新顺序的整数数组
整数数组可以用在基于iloc的索引或等价的take函数中

8.计算指标/虚拟变量
DataFrame中一列有k个不同的值,可以衍生一个k列的值为1和0的矩阵或DataFrame
pd.get_dummies函数

内容部分引用于《利用Python进行数据分析》第2版(Wes McKinney著,徐敬一译),仅供大家一起学习交流

如有错误,请多指教

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值