pandas 第一行_Pandas数据预处理相关经验

2692be2e93e56d8b9599ea5babd23be2.png

在这里记录一些平常用的pandas操作以供参考。

学习相关操作的最好方法还是找官方的文档最好,否则就会产生百度1小时,查文档3分钟的尴尬处境,之前为了找python里类似 in 的操作搜了半天资料也没找到,结果文档里就是 isin 函数就好了。所以找对文件真的很关键。


Pandas数据预处理:

Pandas的基础数据结构有两种,DataFrame 是 Series 的容器,Series 则是标量的容器。使用这种方式,可以在容器中以字典的形式插入或删除对象。一般处理dataFrame时使用index(行)或 columns(列)属性做索引,也可以直接用 axis 0axis 1 ,其他的操作基本默认python的习惯就好了。

b9c31b53caf3e6563bc7db618ee40c73.png

Pandas处理csv

Pandas处理csv文件,首先需要读取数据:

data = pd.read_csv("ad_feature.csv",header=None)

这里我用的阿里的天池竞赛的数据来测试,需要注意的就是header属性,如果csv文件中第一行写的是数据而不是列名称的话,需要在读文件的时候加上header=None,来保证pd不把第一行数据作为列名,这时候默认访问列如第一列可以直接通过data[0]访问,访问行需要加上:如第一行data[:1]。如果希望用名称来访问列可以在读取数据的时候加上names属性命名列,如:

import pandas as pd
names = ['A','B','C','D','E','F']
data = pd.read_csv("test.csv",header=None,names=names)

这样访问列的时候就可以通过data[‘A’]来获取第一列的数据。data.index, data.columns 可以查看我们行列的命名索引。

Value_counts()计数功能:

在数据预处理的时候我们需要对数据进行许多的统计工作,value_counts可以统计对应数据的频次,如我们想知道adgroup_id中共有多少个不重复的数据,每个数据的频次是多少,这样我们可以通过

count_res = data[‘adgroup_id’].value_counts()

获取统计结果,返回结果是一个series对象,这个对象对应的值是频次,可以通过count_res.index来获取不重复的索引值,然后用这个索引值来获取对应广告出现的频次。

我在处理数据的时候遇到的需求是希望删掉出现频率很低的一个广告的数据,这时候可以做一个筛选。

Shift_data = count_res[count_res > 10]

其中方括号里边的不等式会返回对应的数据的列索引,通过这个索引我们就可以得到我们需要的频次的广告数据ID。这样筛选完后,我希望在后续的数据中只出现这部分高频词的广告数据,即从完整的data数据中抽出我们选出来的这些广告的数据。一种方法是我们可以将这些广告的ID一个个输出出来然后新建一个DataFrame,通过广告ID写一个for循环抽取这些数据来不断的append数据帧,如:

shift_all_data = pd.DataFrame()
for ad_ID in count_res.index:shift_all_data = shift_all_data.append(data[data['adgroup_id']==ad_ID])

这样写的话需要很多行显然不够简洁,这时候可以通过dataframe对象的isin属性(就是这个我搜了半天没有别的相关的介绍,看文档直接就找到了,充分说明了看文档比看很多博客高效多了)通过

data = data[data['adgroup_id'].isin(count_res_list)]

就可以获取到我们初步筛选出来的数据了,可以再进行后续的处理。

对于有nan的数据,pandas可以简单的进行处理,如果希望删除nan所在的行,可以直接data = data.dropna() 填充nan的值可以使用data=data.fillna(value=5)以此来处理数据中的缺省值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/468300.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单机 amp; 弱联网手游 防破解、金币改动 简单措施

单机 & 弱联网手游 防破解、金币改动 简单措施 手游经常使用破解方法 对于一个弱联网或者单机游戏,能够从下面方面去破解: 1、找得到存档文件的,直接破解改动存档文件。 2、找不到存档文件,就在游戏执行时借助一些软件来改…

Linux 内核通知链和例程代码

概念大多数内核子系统都是相互独立的,因此某个子系统可能对其它子系统产生的事件感兴趣。为了满足这个需求,也即是让某个子系统在发生某个事件时通知其它的子系统,Linux内核提供了通知链的机制。通知链表只能够在内核的子系统之间使用&#x…

faster rcnn resnet_RCNN系列、Fast-RCNN、Faster-RCNN、R-FCN检测模型对比

RCNN系列、Fast-RCNN、Faster-RCNN、R-FCN检测模型对比一.RCNN问题一:速度经典的目标检测算法使用滑动窗法依次判断所有可能的区域。本文则预先提取一系列较可能是物体的候选区域,之后仅在这些候选区域上提取特征,进行判断。问题二…

啰嗦一二三

第一点之前有一个抽奖,抽取野火开发板的,我记得有很多人参加了,20号的时候,获奖的同学都主动找我填写了收获地址,但是有一个同学特别调皮,到今天都没有来找我,我等了好久好久,还是没…

go设置后端启动_为什么 Rubyists 应该考虑学习 Go

点击上方蓝色“Go语言中文网”关注我们,领全套Go资料,每天学习 Go 语言如今,越来越少的 Web 开发人员开始专注于 Ruby 之类的单一语言。我们针对不同的工作使用不同的工具。在本文中,Ayooluwa Isaiah 认为 Go 是 Ruby 的完美补充。…

生涯刚开始就要转会?

昨晚,12点快睡觉的时候,一个同学给我发来的问题,篇幅有点长,都是文字,看起来可能有点乏味,不过有耐性的同学还是瞄一下,应该很多人都有这样的迷茫期,我的解答也不一定完全正确&#…

Topaz Video AI 视频修复工具(内附安装压缩包win+Mac)

目录 一、Topaz Video AI 简介 二、Topaz Video AI 安装下载 三、Topaz Video AI 使用 最近玩上了pika1.0和runway的图片转视频,发现生成出来的视频都是有点糊的,然后就找到这款AI修复视频工具 Topaz Video AI。 一、Topaz Video AI 简介 Topaz Video…

python文本编辑器报错_notepad++编辑器中运行python程序时需要注意的编码格式

本篇文章给大家带来的内容是关于notepad编辑器中运行python程序时需要注意的编码格式,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 语言:python3.4 文本编辑器:notepad 报错:SyntaxErro…

我不建议大家随便跳槽

突然的留言 我的微信好友很多,经常也有一些同学给我留言一些问题,当然能回答的我肯定会回答了,但是如果是非常难的技术问题,我一般会说,我要请教一下身边的朋友,昨晚准备睡觉的时候,收到一个同…

我是不建议随便跳槽的

突然的留言我的微信好友很多,经常也有一些同学给我留言一些问题,当然能回答的我肯定会回答了,但是如果是非常难的技术问题,我一般会说「我要请教一下身边的朋友」,我会非常刻意的去回避我技术很水的这个问题&#xff0…

ubuntu c++检测usb口事件变化_拆解报告:美式双USBA口充电插座

----- 充电头网拆解报告 第1441篇 -----最近充电头网拿到了一款美式插座,这款产品相比常规墙插插座,除了配有两个双脚AC插口外,还有两个USB-A接口,支持直接插上数据线即可为两台设备进行同时充电。其中两个USB-A口都支持最大5V4.8…

div不继承父类样式_Python编程思想(27):类的继承

-----------支持作者请转发本文-----------李宁老师已经在「极客起源」 微信公众号推出《Python编程思想》电子书,囊括了Python的核心技术,以及Python的主要函数库的使用方法。读者可以在「极客起源」 公众号中输入 160442 开始学习。-----------正文---…

mysql 举例_MySQL 语句举例(一)

举例:有10个用户,输出在订单表中下单数最多的5个人的名字。my_user 表数据my_order,uid对应my_user表的id测试数据生成写一个存储过程,随机插入10000条数据:CREATE DEFINERrootlocalhost PROCEDURE test_loop( )BEGIND…

你知道Linux里D进程会搞事吗?

前言这篇文章是一位大神在实际项目中遇到问题并分析总结出来的,作为新手,能接触到这类文章应该是受益匪浅,这位同学现在在魅族工作,以后也会一直在魅族工作,是Linux 方面的专家,「魅族还有另一个Linux 大神…

react-router 页面离开 提示数据变更

以前项目使用 react-router2.0, 业务层面页面离开的时候需要弹出自己的弹出框,根据用户的操作,进行是否可以离开 试了几种方式都存在问题,实现的并不完美,没办法对用户点击浏览器后退支持的很好,除非是显示…

C语言系列文章之#和##

很久就知道了 # 和 ## ,但是都没怎么使用,直到最近的项目涉及到需要编写大量相似的代码之后才决定尝试使用 ## 去简化代码的书写。比如说我的项目需要控制四个通道的电机,四个通道的逻辑控制代码都是类似的,只是对应的硬件和数据信…

springboot 上传文件_基于SpringBoot的文件上传

在实际的企业开发中,文件上传是最常见的功能之一,SpringBoot集成了SpringMVC常用的功能,当然也包含了文件上传的功能,实现起来没有太多的区别。下面我们来讲解一下,使用SpringBoot如何实现多个文件上传操作。使用的环境…

Linux的 i2c 驱动框架分析

1.基本概念总线设备驱动模型,是Linux 内核的一个基础,基本理论可以说按照大企业的分工原则,每个人只要负责自己的事情,向其他部门给出标准的接口调用,后勤部就负责后勤工作,厨房有可能跟后勤部产生工作上的…

matlab fftshift_数字信号处理没有Matlab?用Python一样很爽

通常,在数字信号处理时,我们避不开matlab这个工具,因其它的强大的功能受到广大工程师的好评,也一直都是业界的不二之选。但是,matlab毕竟是商业软件,公司里如果使用的话,就需要支付高昂的费用。…

栈,C语言实现

什么是数据结构?数据结构是什么?要了解数据结构,我们要先明白数据和结构,数据就是一些int char 这样的变量,这些就是数据,如果你是一个篮球爱好者,那么你的球鞋就是你的数据,结构就是…