简单且有用的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
猜你喜欢
- 首先安装pip install ruamel.yaml用于修改yaml文件#coding:utf-8from ruamel import y
- 一、conn.asp<% '@Language="VBSCRIPT" CO
- (1)应用于客户需要与不同的数据源进行交互时。数据可能来自不同的数据库,他们都有各自不同的复杂格式。但客户与这些数据库间只通过一种标准语言进
- 复习回顾:Python 对于时间日期操作提供了很多方法,我们前面已经学习了2个模块:基于Unix 时间戳范围限制在1970~2038年的时间
- 本文实例讲述了php中正则替换函数ereg_replace用法。分享给大家供大家参考。具体如下:下面的实例是利用php 正则替换函数 ere
- <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
- 本文实例讲述了PHP实现ASCII码与字符串相互转换的方法。分享给大家供大家参考,具体如下:<?phpclass ascii { &n
- 不知道有多少人清楚的知道,在Oracle中,如果一个复合索引,假定索引(a,b,c)三个字段,删除了(包括unused)其中一个字段,Ora
- 如何正确显示数据库里同时存在的GB码和BIG5码? Public Function CheckBIG(strS
- var iframe = document.createElement("iframe"); iframe.id = &
- 这篇文章主要介绍下如何创建并调用函数。print():是打印放入对象的函数 len():是返回对象长度的函数 input():是让用户输入对
- 为了防止再次被攻击,做个验证码过滤程序是必要的。我在网上找了一些资料,觉得用别人做好的代码总是很不爽,自己做麻又不会写复杂的代码,特别是生成
- virtualenv创建一个拥有自己安装目录的环境, 这个环境不与其他虚拟环境共享库, 能够方便的管理python版本和管理python库。
- 今天在群(CSS森林:30247792)里讨论了border的样式写法,发现border的写法还真是灵活,做了一下总结,希望对大家有用:bo
- 我见到有的网站好像可以把数据库的记录读到表格里去,是这样的吗?如何做到的?可能是这样的,因为我们确实能把数据库里的记录用表格来储存,看看下面
- 微信更新后出来了一块比较火的小游戏,要是一款不涉及到排行的游戏,可能 没人去关注这款游戏。最开自己一直苦练技术,想在微信排行上面装一装,练了
- 本文主要介绍了Python 字典值查询出对应的键,分享给大家,也给自己留个笔记,具体如下:# -*- coding: utf-8 -*-#
- 下载编译器protoc两种方式:1、使用google官方protoc下载地址:https://github.com/google/proto
- 一、Tkinter的介绍和简单教程Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建
- HTML实体符号被用作实现保留字符(reserved characters)或者表达键盘无法输入的一些常用字符。在大多数浏览器中默认的字符集