简单且有用的Python数据分析和机器学习代码
作者:heshuuqqq 发布时间:2021-03-27 13:13:27
为什么选择Python进行数据分析?
Python是一门动态的、面向对象的脚本语言,同时也是一门简约,通俗易懂的编程语言。Python入门简单,代码可读性强,一段好的Python代码,阅读起来像是在读一篇外语文章。Python这种特性称为“伪代码”,它可以使你只关心完成什么样的工作任务,而不是纠结于Python的语法。
另外,Python是开源的,它拥有非常多优秀的库,可以用于数据分析及其他领域。更重要的是,Python与最受欢迎的开源大数据平台Hadoop具有很好的兼容性。因此,学习Python对于有志于向大数据分析岗位发展的数据分析师来说,是一件非常节省学习成本的事。
Python的众多优点让它成为最受欢迎的程序设计语言之一,国内外许多公司也已经在使用Python,例YouTube,Google,阿里云等等。
简单且有用的Python数据分析和机器学习代码
经过这个月的python数据分析和机器学习,总结了一些经验,同时也收获了一些大佬的优秀博客,感兴趣的可以观看我的收藏夹,废话不多说,直接进入正题。
数据分析大致分为数据处理,模型建立,模型测试这3部,这篇文章主要是讲解对数据进行处理
为了对数据进行分析,首先要了解学习python的熊猫库pandas,下面是一些基础简单的操作方法,python调用方法如下
import pandas as pd
python通过pandas读取csv文件的方法
df= pd.read_csv("xxx.csv")
#输出文件内容前五列
print(df.head())
#输出csv所有内容
print(df)
查看csv某列数据的方法
pandas.read_csv(‘file_name.csv', usecols = [0,1,2,3])
#简单方法
df["属性列名称"]
pandas删除csv数据某些列的方法
droplabels= ['x_cat4','x_cat5','x_cat8','x_cat9']
data=df.drop(droplabels,axis=1)
pandas对NAN数据清洗的方法
#将表格中含有nan数值的列进行删除,返回非空数据和索引值的Series
df.dropna()
'''
dropna(axis=0,how='any',thresh=None),how参数可选的值为any或者all.all仅在切片元素全为NA时才抛弃该行(列)。thresh为整数类型,eg:thresh=3,那么一行当中至少有三个NA值时才将其保留。
'''
data.fillna(0) #将nan替换为0
print(data.fillna(data.mean())) ### 用每列特征的均值填充缺失数据
print(data.fillna(data.median())) ### 用每列特征的中位数填充缺失数据
print(data.fillna(method='bfill')) ### 用相邻后面(back)特征填充前面空值
print(data.fillna(method='pad')) ### 用相邻前面特征填充后面空值
#参考博客:https://blog.csdn.net/qq_21840201/article/details/81008566
pandas对csv文件数据的更改的方法
#更改某列属性数值和类型
df = df[df['涨跌幅']!='None']
df['涨跌幅'] = df['涨跌幅'].astype(np.float64)
df = pd.DataFrame(a, dtype='float') #数据类型转化
#参考链接:http://www.45fan.com/article.php?aid=19070771581800099094144284
#对数据全部遍历读取并更改,参考如下
for i in df.index:
df["id1"][i]=1
pandas的iloc的使用方法和作用
X = df.iloc[:, data.columns != 'label'] # 取出不包括 label其他的列
df.iloc[:3, :2] #使用.iloc ,我们只选择了.iloc的前3行和2列
计算某列元素数量的方法
sum= len(data[data.label == 'BENIGN']) #计算BENIGN的数量
len(df)
pandas对文件进行保存的方法
#df为要保存的数据,xxx.csv为保存的文件
df.to_csv('xxx.csv', index=False, sep=',')
以上是pandas对数据进行处理的简单功能,其中含有一些参考学习的博客,感兴趣的同学可以观看学习。有了这些基础知识,我们才能对数据集进行处理,接下来就是如何使用的问题了,下面讲解简单的套路。
1.首先观察数据,通过代码检测每一列的数据类型再进行考察,检测是否存在NAN值,可以删除该列,也可根据情况进行数值的变动。
2.数据集中可能存在部分列属性为time属性,一般不要直接将该列删除,可通过将其转化为浮点类型
3.字符串类型向数值类型的转换,部分字符串需要进行转换,这个就视情况而定了。
总结
来源:https://blog.csdn.net/confusingggg/article/details/117927454


猜你喜欢
- 本文简单总结了一下Python处理时间和日期方面的模块,主要就是datetime、time、calendar三个模块的使用,希望这篇文章对于
- 此代码适合你做网站用,普通朋友可以不用理这个东西!ASP:<%dim objXMLHTTP, qq, pwd qq = &
- python3 shelve模块的详解一、简介在python3中我们使用json或者pickle持久化数据,能dump多次,但只能load一
- 本文实例讲述了python 协程 gevent原理与用法。分享给大家供大家参考,具体如下:geventgreenlet已经实现了协程,但是这
- 如何做一个密码“生成器”?randompassword.asp<% Dim i, intNum,&nbs
- asp上传的时候出现这种 错误:Server 对象 错误 'ASP 0177 800401f3'Server.CreateO
- 前言晚上回家闲来无事,想打开某直播平台,看看小姐姐直播。看着一个个多才多艺的小姐姐,眼花缭乱,好难抉择。究竟看哪个小姐姐直播好呢?今天我们就
- 我就废话不多说了,直接上代码吧!import urllib.requestimport requestsimport timeimport
- 今在服务器上 有mysql 数据库,远程访问,不想公布root账户,所以,创建了demo账户,允许demo账户在任何地方都能访问mysql数
- 前言最近国内疫情状况好转,快递业也逐渐恢复,大家的快递是不是跑起来了?本文就来讲解如何让 python自动为你查询快递信息 ,并在
- 前言electron+vuecli3 实现设置打印机,静默打印小票功能网上相关的资料比较少,这里给大家分享一下,希望大家可以少踩一些坑git
- 因为做新闻爬虫,url里面0-9的日期要左侧加零。经过查询之后得到了两种方法。一、先设一个足够大的数,比如1000000,然后加上当前的数字
- 创建变长数组类型CREATE TYPE varray_type AS VARRAY(2) OF VARCHAR2(50);这个变长数组最多可
- 单例模式单例模式是一种常用的模式,有一些对象我们往往只需要一个,比如线程池、全局缓存、浏览器中的 window 对象等。在 JavaScri
- 最近使用Mac系统,准备搭建一套本地web服务器环境。因为Mac系统自带PHP和apach,但是没有自带mysql,所以要手动去安装mysq
- SQL Server2005数据项的分拆与合并:参考示例如下:-- ====================================
- 本实验中分别针对空库、脱机、联机三种方式,配置一主两从的mysql标准异步复制。只做整服务器级别的复制,不考虑对个别库表或使用过滤复制的情况
- 相信用过thinkphp的用户都知道thinkphp的模型可以完成很多辅助功能,比如自动验证、自动完成等,今天在开发中遇到自动完成中需要获取
- 本文实例讲述了java 数据库连接与增删改查操作。分享给大家供大家参考,具体如下:1、设置数据库的基本配置信息package mysql;/
- 前言具有名字的插槽slot使用 中的 "name" 属性绑定元素注意:1,如果没有匹配到 则放到匿名的插槽中2,具名插槽