【Pandas】一文入门Pandas处理csv文件数据集(神经网络/机器学习算法数据预处理)

Motivation

和某个大佬采集的数据是csv格式的,之前没处理过csv格式的数据。拿来写神经网络训练的时候踩了不少坑,这里记录一下,也方便后来人学习。

Pandas处理csv文件

处理csv文件的包应该有不少,这里就做一个pandas的教程了(其他的没用过hhhh)。这里我以我的一个数据为例演示一些常用的处理方法。

文件读取

  1. 语句:
    origin_data = pd.read_csv("origin_data.csv", na_values=" NaN")
    
  2. csv文件中的空值(NaN)是什么? 这里是一个大坑。建议大家在读csv的时候用我下面这个参数,把缺失的值统一设置为"NaN"。这样在后面如果需要手动过滤掉缺失值的时候可以索引到位置。之前试过,如果不设置这个参数,缺失值不是False、0、"NaN"中的任何一个。
  3. 结果:
    在这里插入图片描述

dataframe索引某一列

pandas读进来的csv数据会被封装成一个叫dataframe的格式,这种格式可以转为numpy数组。我们先来看如何操作dataframe。

  1. 语句: 使用data.name来根据标签索引某一列。
    origin_data.Height
    
  2. 结果:
    在这里插入图片描述

删除某一列

  1. 语句: del关键字加标签删除某一列
    del origin_data["Weight change"]
    
  2. 结果: 可以看到"Weight change"一列已经被删除
    在这里插入图片描述

删除缺失值所在的行/列

对于缺失值,一般来说可以采用插值的办法补全或直接丢弃该条数据。这里以删除NaN值所在的行为例做演示。

  1. 语句: .dropna()方法,默认删除有NaN值的行。可以设置.dropna(axis=1)删除有NaN值的列。其他用法可以自行查阅。这个用法是最常用的。
    origin_data = origin_data.dropna()
    
  2. 结果: 可以看到行变少了,没有NaN值了。
    在这里插入图片描述

修改索引

在对数据做了一些处理之后,数据的索引很有可能就直接乱掉了。比如这里:我们删掉了一些行,所以索引就是不连续的了。这时候如果我们按照索引去遍历数据就会报错。因此一般在数据处理完后都要重置一下索引。
在这里插入图片描述

  1. 语句: 这里重点说一下drop参数。drop参数为True表示直接丢掉索引列不要了,然后重置顺序。drop参数为False表示重置索引,并保留索引列。
    origin_data = origin_data.reset_index(drop=True)
    
  2. 结果:
    在这里插入图片描述
    在这里插入图片描述

按条件修改值

我们在做数据预处理的时候,需要把一些非数字的值转为数字。比如性别、省市等。这里以性别为例,我希望把M/F转化为0/1,以便神经网络来处理。

  1. 语句: .loc[row, flag]获取需要索引的数据,而后通过条件判断来修改值
    for i in range(len(origin_data)):
    	origin_data.loc[i, 'Sex'] = 1 if origin_data.loc[i, 'Sex'] == "F" else 0
    
  2. 结果: 这里我改了两列的数据,结果如图所示
    在这里插入图片描述
  • 1
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小丫么小阿豪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值