pandas与csv

第一次参加比赛,没想到大多数的时间和精力都放在了处理数据上。。。
csv格式,即逗号分隔值,通常是纯文本文件,在我的电脑上默认打开方式是excel,当然你要是想看的文本格式的全貌也可以用一些编辑器或者IDE打开。从名字即可看出,在.CSV文件中,两个数据是通过逗号分割开的,处理CSV的方式有很多,直接的可以用编辑器打开慢慢按照条目处理,当然也可以使用别的工具处理,本文要讲的就是pandas,一个可以为python语言提供高性能的数据结构和分析的开源库。
在处理广告训练集数据时大量的使用到了pandas,但由于本人也没系统的看过pandas,因此本文主要介绍下在数据处理过程中主要使用到的函数和方法。

一:pandas.read_csv()

read_csv(),从名字就可以看出来,这是读取csv文件的函数,当python文件和csv文件在同一目录下时,可以直接读取文件名,如"read_csv('the.csv')",如果你也是用Google colab,注意你是无法对上传到Google Drive,同一colab文件下的数据文件进行读取的。
这里提供两个方法解决colab读取外部文件的问题:

!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse fuse
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}
!mkdir -p drive
!google-drive-ocamlfuse drive
import os
os.chdir("drive/yourdir/") 

上面直接拷进去运行就可以了,当然因为colab的特性,你可能每次都要运行一下。
还有一种方法,就是在colab文件页面上传数据文件,同样,每次重开你的文件都需要重新上传,如图:

 

                                                                                                 colab

继续讲read_csv()函数,一般除了读取csv文件,很多文本格式的文件都可以读取的,如dat之类的,而且是推荐使用read_csv()函数,而不是read_table()。注意,read_csv读取的数据类型为Dataframe,后续如果想做其他分析可能需要转化成其他数据类型。
除此之外,read_csv()还有很多可选参数:

1. header

header = None可以使你不会把第一行数据作为列名称来显示。差别如下图所示:

 

                                                                                 对比.png

2. names

names 可以为每列添加名称,方便你分析每列数据是用来做什么的。

 

每列的数据名称.png

3. usecols

可以指定输出第几列:

 

第二列.png

4. nrows

可以指定输出的行数:

 

前两行.png

当然还有很多别的参数,这里不一一介绍。

二 . to_csv

顾名思义,写入一个csv文件中,可以讲某Dataframe格式的数据通过to_csv('yourfilename.csv'),生成该名称的csv文件,常用的两个参数一个是“header = 0”,可以忽略列索引,一个是“index = 0”可以忽略行索引,不然这两个值也会被默认写入你的csv文件中,如图:

 

image.png

三. Dataframe

dataframe是一种非常重要的数据格式,这里就简单罗列几句对处理数据十分有用的几个语句:

 

image.png

 

image.png

 

当然,仅仅了解这些是不够的,如清洗数据还可能存在更多的情况需要考虑,这时候就要引进正则的知识了,篇幅有限不再详述,有兴趣的同学可以自己google。


更新2020/2/9

本文是个人腾讯广告算法大赛经历的体验,并没有做出什么成绩,这篇文章也只是集中在pandas的一点使用,参考价值并不大

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值