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

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


Pandas数据预处理:

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

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)以此来处理数据中的缺省值。

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

  1. pandas 第一行_Pandas进阶,从0到100你还差这篇文章!

    /作者:youerning//来源:51CTO博客/今天分享的这篇文章,是关于pandas的一个串讲,很适合查漏补缺.一.数据对象pandas主要有两种数据对象:Series.DataFrame注:  ...

  2. pandas 作图 统计_pandas数据作图方法

    简介 Pandas自身也提供了作图的 plot() 方法,可以作各种图形.本文将详细介绍如何使用Pandas直接作一些常规的图. 折线图 控制作图的类型在 DataFrame.plot() 方法里: ...

  3. pandas 作图 统计_Pandas数据可视化工具——Seaborn用法整理(下)

    本科数学,编程几乎零基础(之前只学过matlab)今年年初开始学习Python数据挖掘,找到了一个很好的平台--BigQuant,省去了安装Python和安装各种库的烦恼.我最近在开始了解机器学习,B ...

  4. 数据预处理相关Demo(缺失值、均值方差标准化、极差法归一化、主成分分析)

    1 缺失值处理 1.1 pandas中利用fillna()函数 通过fillna()方法,可以去掉数据集中的空值(nan值). # 数据生成 import pandas as pd import nu ...

  5. pandas用众数填充缺失值_【机器学习】scikit-learn中的数据预处理小结(归一化、缺失值填充、离散特征编码、连续值分箱)...

    一.概述 1. 数据预处理 数据预处理是从数据中检测,修改或删除不准确或不适用于模型的记录的过程 可能面对的问题有:数据类型不同,比如有的是文字,有的是数字,有的含时间序列,有的连续,有的间断. 也可 ...

  6. 「从零入门推荐系统」03:推荐系统的数据源与数据预处理

    作者 | gongyouliu 编辑 | auroral-L 全文共7942字,预计阅读时间50分钟. 大家好,我是强哥.一个热爱暴走.读书.写作的人! 本章目录 一.推荐系统的数据源 1. 根据产品 ...

  7. 【数据挖掘】利用sklearn进行数据预处理讲解与实战(超详细 附源码)

    需要源码和PPT请点赞关注收藏后评论区留言私信~~~ scikit-learn提供的数据预处理相关的功能如下图 1. 数据标准化.平均去除和方差缩放 sklearn.preprocessing.sca ...

  8. 数据预处理方式:标准化/正态分布/zscore/scale/

    一.数据预处理 在实际数据分析工作中,我们会得到各种各样的数据,例如:存在缺失值,存在重复值,数据量纲单位不同等,这就要求我们在使用之前对数据进行预处理,一般为针对不同生物学特征和数据集数据的不同而选 ...

  9. pandas取第一行数据_Pandas DataFrame 取一行数据会得到Series的方法

    Pandas DataFrame 取一行数据会得到Series的方法 Pandas DataFrame 取一行数据会得到Series的方法 如题,想要取如下dataframe的一行数据,以为得到的还是 ...

最新文章

  1. 亚洲首获奖!清华大学团队获ACM SIGCOMM 2021唯一最佳学生论文奖
  2. C_数据结构_链式二叉树
  3. html文标题党,做好合格“标题党”
  4. CentOS7下安装MySQL5.7安装与配置(转)
  5. 配置nginx支持php
  6. SAP 电商云 Spartacus UI 里如何捕捉语言设置的更改
  7. java数组的扩容,将两个数组合并成一个数组
  8. Mysql知识总结(二)
  9. 20145109 《Java程序设计》第七周学习总结
  10. webots自学笔记(五)使用物理插件ODE建立铰链
  11. Java中JCP, JEP, JLS, JSR是什么
  12. python黑帽子怎么样_PYTHON 黑帽子第二章总结
  13. 三十二个vbs整蛊代码,好玩到没朋友
  14. java获取linux本机ip_linux下java获取本机IP地址
  15. jquery $ # 什么意思
  16. 基于MATLAB的路面裂缝检测识别算法仿真
  17. 冲天炉节能环保:烟气净化及烟气余热回收
  18. 科研笔记(五) SLAC WiFi Fingerprint+ Step counter融合定位
  19. 计算机教室日常维护制度,现代信息技术教室管理制度
  20. 装箱问题(Packing Problem)

热门文章

  1. 持续集成(CI)- 各种工具的资料总结
  2. Apache OpenJPA 2.1.0 发布
  3. python中xml模块_python学习第十五天-2(XML模块)
  4. 【机器学习】XGBoost集成算法——(理论+图解+python代码比较其他算法使用天池蒸汽数据)
  5. flask模型中【外键】relationship的使用笔记
  6. python3.8 实现鼠标自动移动_“新生报到”!【移动机器人 HD-1500】负载1500kg,实现了重型货物运输的自动化...
  7. c# Invoke和BeginInvoke
  8. stm32c语言设计以及注释,13个基于STM32的经典项目设计实例,全套资料~-嵌入式系统-与非网...
  9. 鸿蒙还是不是安卓,华为捐赠鸿蒙核心架构!是否形成“三足鼎立”?
  10. 字体文件解析 c语言,如何正确地从C语言的文件中读取某些字符串?