主要在jupyter notebook里面熟悉这个库的使用,它的安装方法与实现,可自行搜索。
Pandas是一个优秀的数据分析工具,官网:http://pandas.pydata.org/
相关的库使用pip安装,用豆瓣的代理下载速度比官方的快,安装命令:
pip install -i https://pypi.douban.com/simple/ matplotlib
pip install -i https://pypi.douban.com/simple/ pandas
pip install -i https://pypi.douban.com/simple/ requests
pip install -i https://pypi.douban.com/simple/ scipy
方法后面是执行的结果,从结果上就能看出方法的作用的,所以没做太多描述。
import os
import pandas as pd
import requests
PATH = 'F:/Git/ML_Python/02iris/'
r = requests.get('https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data')
with open(PATH + 'iris.data','w') as f:
f.write(r.text)
os.chdir(PATH)
df = pd.read_csv(PATH + 'iris.data',names=['花萼长度','花萼宽度','花瓣长度','花瓣宽度','类别'])
df.head()
花萼长度 | 花萼宽度 | 花瓣长度 | 花瓣宽度 | 类别 | |
---|---|---|---|---|---|
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 | Iris-setosa |
4 | 5.0 | 3.6 | 1.4 | 0.2 | Iris-setosa |
df.iloc[:3, :2]
花萼长度 | 花萼宽度 | |
---|---|---|
0 | 5.1 | 3.5 |
1 | 4.9 | 3.0 |
2 | 4.7 | 3.2 |
df.loc[:1,[x for x in df.columns if ('宽度' in x)|('长度' in x)]]
花萼长度 | 花萼宽度 | 花瓣长度 | 花瓣宽度 | |
---|---|---|---|---|
0 | 5.1 | 3.5 | 1.4 | 0.2 |
1 | 4.9 | 3.0 | 1.4 | 0.2 |
df['类别'].unique()
array(['Iris-setosa', 'Iris-versicolor', 'Iris-virginica'], dtype=object)
df.count()
花萼长度 150
花萼宽度 150
花瓣长度 150
花瓣宽度 150
类别 150
dtype: int64
df[df['类别']=='Iris-virginica'].count()
花萼长度 50
花萼宽度 50
花瓣长度 50
花瓣宽度 50
类别 50
dtype: int64
df[(df['类别']=='Iris-virginica')& (df['花瓣长度']>6)].reset_index(drop=True)
花萼长度 | 花萼宽度 | 花瓣长度 | 花瓣宽度 | 类别 | |
---|---|---|---|---|---|
0 | 7.6 | 3.0 | 6.6 | 2.1 | Iris-virginica |
1 | 7.3 | 2.9 | 6.3 | 1.8 | Iris-virginica |
2 | 7.2 | 3.6 | 6.1 | 2.5 | Iris-virginica |
3 | 7.7 | 3.8 | 6.7 | 2.2 | Iris-virginica |
4 | 7.7 | 2.6 | 6.9 | 2.3 | Iris-virginica |
5 | 7.7 | 2.8 | 6.7 | 2.0 | Iris-virginica |
6 | 7.4 | 2.8 | 6.1 | 1.9 | Iris-virginica |
7 | 7.9 | 3.8 | 6.4 | 2.0 | Iris-virginica |
8 | 7.7 | 3.0 | 6.1 | 2.3 | Iris-virginica |
df.describe()
花萼长度 | 花萼宽度 | 花瓣长度 | 花瓣宽度 | |
---|---|---|---|---|
count | 150.000000 | 150.000000 | 150.000000 | 150.000000 |
mean | 5.843333 | 3.054000 | 3.758667 | 1.198667 |
std | 0.828066 | 0.433594 | 1.764420 | 0.763161 |
min | 4.300000 | 2.000000 | 1.000000 | 0.100000 |
25% | 5.100000 | 2.800000 | 1.600000 | 0.300000 |
50% | 5.800000 | 3.000000 | 4.350000 | 1.300000 |
75% | 6.400000 | 3.300000 | 5.100000 | 1.800000 |
max | 7.900000 | 4.400000 | 6.900000 | 2.500000 |
df.corr()
df.corr(method='kendall')
花萼长度 | 花萼宽度 | 花瓣长度 | 花瓣宽度 | |
---|---|---|---|---|
花萼长度 | 1.000000 | -0.072112 | 0.717624 | 0.654960 |
花萼宽度 | -0.072112 | 1.000000 | -0.182391 | -0.146988 |
花瓣长度 | 0.717624 | -0.182391 | 1.000000 | 0.803014 |
花瓣宽度 | 0.654960 | -0.146988 | 0.803014 | 1.000000 |
df.corr('spearman')
花萼长度 | 花萼宽度 | 花瓣长度 | 花瓣宽度 | |
---|---|---|---|---|
花萼长度 | 1.000000 | -0.159457 | 0.881386 | 0.834421 |
花萼宽度 | -0.159457 | 1.000000 | -0.303421 | -0.277511 |
花瓣长度 | 0.881386 | -0.303421 | 1.000000 | 0.936003 |
花瓣宽度 | 0.834421 | -0.277511 | 0.936003 | 1.000000 |