机械狗的机器学习入门(三)——王水(1)。2019/4/1

  我们从菜市场买来的菜,用王水洗一洗,你猜会怎么样?

 

  今天学习一个数据分析工具 Pandas (王水 雾)。因为比较懒,所以直接在pycharm里安装好了。

我们先用之前在菜市场买好的菜:一个机器学习经典数据集,大概是些花花草草的叶子长、宽和它们属于的类别。我们用这些花花草草做清洗实验,甚至把它们洗得连茎都不剩!

先看代码:

import os
import pandas as pd
import requests
#os.get_exec_path()
PATH = r'/Users/tzontlilic/Desktop/'
r = requests.get('https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data')
#print(r.text)
with open (PATH + 'iris.txt', 'w') as f:
    f.write(r.text)

os.chdir(PATH)

df = pd.read_csv(PATH + 'iris.txt' , names=['sepal length', 'speal width', 'petal length', 'petal width','class'])

print(df.head())

我们先将获取的机器学习数据集(花花草草)保存在一个名为“iris.txt”的文件中,然后用pandas.read_csv()方法来读取。

这里有必要先学习一下CSV文件是什么。

百度百科给我们的答案是,csv是一种逗号分割值文件格式。简单来说就是一种多用于储存表格中的数据而存在的一种文件格式。他有一些规则:

1 开头是不留空,以行为单位。
2 可含或不含列名,含列名则居文件第一行。
3 一行数据不跨行,无空行。
4 以半角逗号(即,)作分隔符,列为空也要表达其存在。
5列内容如存在半角引号(即"),替换成半角双引号("")转义,即用半角引号(即"")将该字段值包含起来。
6文件读写时引号,逗号操作规则互逆。
7内码格式不限,可为 ASCII、Unicode 或者其他。
8不支持数字
9不支持特殊字符
(以上内容由百度百科提供)
 
我们可以来看看它长什么样
 

5.1,3.5,1.4,0.2,Iris-setosa
4.9,3.0,1.4,0.2,Iris-setosa
4.7,3.2,1.3,0.2,Iris-setosa
4.6,3.1,1.5,0.2,Iris-setosa
5.0,3.6,1.4,0.2,Iris-setosa
5.4.....

 

通过pandas.read_csv()方法,我们给数据增添了列名,然后进行了处理,print(df.head())的输出值如下:

 

  sepal length     speal width          petal length      petal width    class
0          5.1         3.5         1.4          0.2          Iris-setosa
1       4.9      3.0         1.4            0.2       Iris-setosa
2      4.7      3.2        1.3       0.2        Iris-setosa
3      4.6      3.1        1.5          0.2    lris-setosa
4      5.0      3.6       1.4          0.2       Iris-setosa

 

 实际上 pandas.read_csv()是pandas库的数据解析功能,这只是它众多强大功能中的一个,如果你愿意,你可以把它们洗得连渣都不剩。

 

今天就先把王水开个头,具体怎么样能用王水把花花草草洗成自己想要的样子还需要更多的研究才行。

 

posted @ 2019-04-01 22:28  yqhmz  阅读(227)  评论(0编辑  收藏  举报