原标题:Python数据分析常用语句(一)

本篇介绍合并变量和target这两个数据,及合并之前的一些数据清洗工作。

01

读取表格文件

读入csv文件,代码如下:

import numpy as np

import pandas as pd

data = pd.read_csv('data_for_test.csv',engine='python')

print(data.shape)

data.head(3)

输出为:

pd.read_csv()函数常用参数:

nrows: 读取行数

usecols: 读取对应列

encoding: 编码格式,默认utf-8;

如果数据含中文,导致默认格式输出是乱码的情况,可以尝试encoding='gbk’或者encoding=‘gb18030’。

engine官方解释:

engine : {‘c’, ‘python’}, optional

Parser engine to use. The C engine is faster while the python engine is currently more feature-complete.

笔者通常不设置此参数,但是不设置这个参数有时候会提醒错误,所以有时候需要设置,一般都是报错后再设置。

data.shape结果显示读入数据有186行,14列。

data.head(3)输出前三行数据,含表头。

多参数设置读入数据:

data_test = pd.read_csv('data_for_test.csv',engine='python',nrows=20,usecols=['id','appl_time'],encoding='gbk')

查看每一列的数据格式:

data.dtypes

输出为:

查看指定列的数据格式为:

data[['id','var2']].dtypes

输出为:

输出该数据表的所有列标题为:

data.columns.values.tolist()

02

删除列

发现grade_x列不需要,删除该列。

data.drop(['grade_x'],axis=1,inplace=True)

03

删除不符合条件的样本

查看数值型变量的统计数据:

data.describe().T

发现age的最小值是-50,不符合常理,所以将age列小于等于0的行删除,即留下‘age’列大于0的数据。

data = data[data['age']>0]

可以看到原先数据是185行,现在剩184行。

选取符合条件样本的代码还可以是:

data3 = data.loc[(data['age'] > 25) & (data['city'] == 'Beijing')]

表示age大于25且city是Beijing的样本。

data2 = data.loc[data['city'].isin(['Shanghai'])]

表示city含Shanghai的样本。

04

列重命名

states = {

'var1':'is_phone'

}

data.rename(columns=states,inplace=True)

可以看到var1被重命名为is_phone,inplace=True表示在原数据进行修改。

05

Merge合并数据

合并数据前,要检查索引列(key)是否符合以下条件:

key无空值

key数据格式一致

key无重复项

此样本key为两列,id和appl_time。

去除key为空的样本:

data.dropna(subset=['id','appl_time'],inplace=True)

使用data.dtypes查看到数据格式都为object。

但需要注意的是,对于数字或时间列,只要有一个样本为字符型数据,数据格式即为object,所以为了统一数据格式,建议都转为字符型数据。

data['appl_time']=data['appl_time'].apply(str)

删除重复项:

data=data.drop_duplicates(['id','appl_time'])

从184行数据变为182行。

变量已经处理完成,再读入target数据,同样的数据处理过程,最后再合并数据。

target = pd.read_csv('data_target.csv',engine='python')

print(target.shape)

target.head()

合并数据:

data = pd.merge(target, data, on=['id','appl_time'],how='inner')

print(data.shape)

data.head()

how='inner’表示为内连接合并方式,即data和target表格的id和appl_time一致时才合并,合并后剩余182行数据。

06

存入csv文件

最后将处理好的数据存为csv文件。

data.to_csv('data_merge.csv',index=False)

index=False表示不输出索引。返回搜狐,查看更多

责任编辑:

python数据分析常见错误_Python数据分析常用语句(一)相关推荐

  1. python pd Series 添加行_Python数据分析与挖掘的常用工具

    Python语言:简要概括一下Python语言在数据分析.挖掘场景中常用特性: 列表(可以被修改),元组(不可以被修改) 字典(结构) 集合(同数学概念上的集合) 函数式编程(主要由lambda(). ...

  2. python数据分析实验报告_Python 数据分析入门实战

    本训练营中,我们将学习怎么样使用 Python 进行数据分析.课程将从数据分析基础开始,一步步深入讲解.从 Python 的基础用法到数据分析的各种算法,并结合各种实例,讲解数据分析过程中的方方面面. ...

  3. python开发应用程序错误_Python 程序员经常犯的 10 个错误

    常见错误 #6: 不明白Python在闭包中是如何绑定变量的 看下面这个例子: >>> def create_multipliers(): ... return [lambda x ...

  4. python判断正确错误_python错误和异常

    Python3 错误和异常 作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍. Python 有两种错误很容易辨认:语法错误 ...

  5. python数据分析实战基础_Python数据分析实战基础(二):清洗常用4板斧

    作者 | 吹牛Z来源 | 数据不吹牛 首先,导入案例数据集.因为案例数据存放在同一个Excel表的不同Sheet下,我们需要指定sheetname分别读取: 下面开始清洗的正餐. 01 增--拓展数据 ...

  6. python数据分析平均时间间隔_python 数据分析中常用的时间--datetime操作

    Python 中有time 模块和datetime模块,因为datetime使用的语法结构跟sql比较类型,所以,我选择了使用datetime. datetime有以下几个类.总结来看,如下图. 下面 ...

  7. python数组求和函数_python数据分析之Numpy数据库第三期数组的运算

    上期数组的索引和切片的知识总结通道:数组的索引和切片 数组和标量间的运算 数组之所以强大而且重要的原因,是其不需要通过循环就可以完成批量计算,也就是矢量化 import numpy as np a = ...

  8. python显示数据长度_Python数据分析之初识可视化

    一.数据可视化概述 数据可视化是在整个数据分析非常重要的一个辅助工具,可以清晰的理解数据,从而调整我们的分析方法. - 能将数据进行可视化,更直观的呈现 - 使数据更加客观.更具说服力 例如下面两个图 ...

  9. python 保留顺序去重_Python数据分析入门教程(二):数据预处理

    作者 | CDA数据分析师 从菜市场买来的菜,总有一些不太好的,所以把菜买回来以后要先做一遍预处理,把那些不太好的部分扔掉.现实中大部分的数据都类似于菜市场的菜品,拿到以后都要先做一次预处理. 常见的 ...

最新文章

  1. 邁向IT專家成功之路的三十則鐵律 鐵律六:求全求盈之道-佈施
  2. MySQL实时复制成为可能?
  3. HDU 4946 Area of Mushroom 凸包
  4. JVM参数详解和调优
  5. JAVA程序员必看的面试题
  6. eclipse启动tomcat错误:A Java Exception has occurred(转)
  7. 一个毕业生对大学爱情和奋斗的思考!
  8. [Node.js] 模块化 -- 中间件和跨域
  9. 【李宏毅2020 ML/DL】P12 Brief Introduction of Deep Learning
  10. 面经——Linux内核及驱动
  11. 2017年最受欢迎的15大Python库有哪些?
  12. 从零开始学习音视频编程技术
  13. macbook运行移动硬盘中windows及bootcamp下载出错问题的解决
  14. LM2596、LM2576
  15. 为什么显示连接服务器超时,连接服务器超时什么意思
  16. 标签、画像设计与模型落地
  17. office2019word2019excel2019ppt2019关闭自动更新设置步骤
  18. 【office word】半角格式问题导致 西文格式无法修改
  19. CISSP认证每日知识点和常错题(12月18日)
  20. 米兔积木机器人电机是腿吗_大人的玩具:米兔积木机器人够智能吗?

热门文章

  1. FactorVAE:基于变分自编码器的动态因子模型
  2. 2000-2018年融资约束SA指数计算命令和数据
  3. Multisim应用举例2.8
  4. 10年外资的感受和经历
  5. Spring Boot基于注解方式处理接口数据脱敏
  6. Linux 监控工具 tsar(转)
  7. 【课程】大气对流参数
  8. 洛谷P2495 [SDOI2011]消耗战 | 一个典型的可以搞懂虚树的例题
  9. mac浏览器Brave软件特点分享
  10. linux使用iscsi配置共享存储