python数据分析常见错误_Python数据分析常用语句(一)
原标题: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数据分析常用语句(一)相关推荐
- python pd Series 添加行_Python数据分析与挖掘的常用工具
Python语言:简要概括一下Python语言在数据分析.挖掘场景中常用特性: 列表(可以被修改),元组(不可以被修改) 字典(结构) 集合(同数学概念上的集合) 函数式编程(主要由lambda(). ...
- python数据分析实验报告_Python 数据分析入门实战
本训练营中,我们将学习怎么样使用 Python 进行数据分析.课程将从数据分析基础开始,一步步深入讲解.从 Python 的基础用法到数据分析的各种算法,并结合各种实例,讲解数据分析过程中的方方面面. ...
- python开发应用程序错误_Python 程序员经常犯的 10 个错误
常见错误 #6: 不明白Python在闭包中是如何绑定变量的 看下面这个例子: >>> def create_multipliers(): ... return [lambda x ...
- python判断正确错误_python错误和异常
Python3 错误和异常 作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍. Python 有两种错误很容易辨认:语法错误 ...
- python数据分析实战基础_Python数据分析实战基础(二):清洗常用4板斧
作者 | 吹牛Z来源 | 数据不吹牛 首先,导入案例数据集.因为案例数据存放在同一个Excel表的不同Sheet下,我们需要指定sheetname分别读取: 下面开始清洗的正餐. 01 增--拓展数据 ...
- python数据分析平均时间间隔_python 数据分析中常用的时间--datetime操作
Python 中有time 模块和datetime模块,因为datetime使用的语法结构跟sql比较类型,所以,我选择了使用datetime. datetime有以下几个类.总结来看,如下图. 下面 ...
- python数组求和函数_python数据分析之Numpy数据库第三期数组的运算
上期数组的索引和切片的知识总结通道:数组的索引和切片 数组和标量间的运算 数组之所以强大而且重要的原因,是其不需要通过循环就可以完成批量计算,也就是矢量化 import numpy as np a = ...
- python显示数据长度_Python数据分析之初识可视化
一.数据可视化概述 数据可视化是在整个数据分析非常重要的一个辅助工具,可以清晰的理解数据,从而调整我们的分析方法. - 能将数据进行可视化,更直观的呈现 - 使数据更加客观.更具说服力 例如下面两个图 ...
- python 保留顺序去重_Python数据分析入门教程(二):数据预处理
作者 | CDA数据分析师 从菜市场买来的菜,总有一些不太好的,所以把菜买回来以后要先做一遍预处理,把那些不太好的部分扔掉.现实中大部分的数据都类似于菜市场的菜品,拿到以后都要先做一次预处理. 常见的 ...
最新文章
- 邁向IT專家成功之路的三十則鐵律 鐵律六:求全求盈之道-佈施
- MySQL实时复制成为可能?
- HDU 4946 Area of Mushroom 凸包
- JVM参数详解和调优
- JAVA程序员必看的面试题
- eclipse启动tomcat错误:A Java Exception has occurred(转)
- 一个毕业生对大学爱情和奋斗的思考!
- [Node.js] 模块化 -- 中间件和跨域
- 【李宏毅2020 ML/DL】P12 Brief Introduction of Deep Learning
- 面经——Linux内核及驱动
- 2017年最受欢迎的15大Python库有哪些?
- 从零开始学习音视频编程技术
- macbook运行移动硬盘中windows及bootcamp下载出错问题的解决
- LM2596、LM2576
- 为什么显示连接服务器超时,连接服务器超时什么意思
- 标签、画像设计与模型落地
- office2019word2019excel2019ppt2019关闭自动更新设置步骤
- 【office word】半角格式问题导致 西文格式无法修改
- CISSP认证每日知识点和常错题(12月18日)
- 米兔积木机器人电机是腿吗_大人的玩具:米兔积木机器人够智能吗?