为什么选择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.字符串类型向数值类型的转换,部分字符串需要进行转换,这个就视情况而定了。
总结
到此这篇关于Python数据分析和机器学习代码的文章就介绍到这了,更多相关Python数据分析代码内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!