一、数据分析(Python)入门——鸢尾植物数据集处理
文章目录 专栏文章目录一、背景解析—数据集介绍二、快速进入任务1.导入模型库2.读取鸢尾植物数据集(iris.csv)为dataframe对象3.求出鸢尾属植物萼片长度的平均值、中位数和标准差,并输出4.筛选具有sepal_length<5.0并且petal_length>1.5的iris数据行5.在4)的基础上,根据sepal_length列对数据集进行排序,新的数据集保存为csv6. 在鸢尾属植物数据集中找到最常见的花瓣长度值,使用print函数输出7.找到鸢尾属植物萼片长度的第5和第95百分位数,使用print函数输出 三、总结(划重点)1.部分函数使用说明 四、附录1.最终输出效果2.完整代码今日任务1:
导入鸢尾植物数据集(iris.csv)为dataframe对象求出鸢尾属植物萼片长度的平均值、中位数和标准差,并输出筛选具有sepal_length<5.0并且petal_length>1.5的iris数据行在c)的基础上,根据sepal_length列对数据集进行排序,新的数据集保存为csv在鸢尾属植物数据集中找到最常见的花瓣长度值,使用print函数输出找到鸢尾属植物萼片长度的第5和第95百分位数,使用print函数输出Iris数据集是常用的分类实验数据集,由Fisher, 1936收集整理。Iris也称为鸢尾花卉数据集,是一类多重变量分析的数据集。包含了三类不同鸢尾属植物:Iris Setosa(山鸢尾)、Iris Versicolour(杂色鸢尾),以及Iris Virginica(维吉尼亚鸢尾)。每类包含50个样本,整个数据集150个样本,每个样本包含4个特征分别为:sepal_length(花萼长度),sepal_width(花萼宽度),pepal_length(花瓣长度),pepal_width(花瓣宽度)2。
import numpy as np # 导入numpy库并简写为np import pandas as pd # 导入Pandas库并简写为pd 12
NumPy (Numerical Python) 3是高性能科学计算和数据分析的基础包。主要功能(N维数组、矢量数学运算)包括:
ndarray,具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组对数组数据进行快速运算的标准数学函数读写磁盘数据的工具及操作内存映射文件的工具线性代数、随机数生成及傅里叶变换功能集成C、C++、Fortran等语言编写的代码的工具Pandas3含有使数据分析变得更简单的高级数据结构和操作工具,是基于NumPy构建的。它
提供Series和DataFrame数据结构数据分析操作,包括数据清洗、预处理、排序、统计等。# 1.导入鸢尾植物数据集(iris.csv),保存为dataframe对象 iris_data = pd.read_csv('iris.csv') # 导入鸢尾植物数据集(iris.csv),保存为dataframe对象 print(iris_data[0:10],'n') # 输出前十行看看效果 # 输出结果: # sepal_length sepal_width petal_length petal_width species # 0 5.1 3.5 1.4 0.2 setosa # 1 4.9 3.0 1.4 0.2 setosa # 2 4.7 3.2 1.3 0.2 setosa # 3 4.6 3.1 1.5 0.2 setosa # 4 5.0 3.6 1.4 0.2 setosa # 5 5.4 3.9 1.7 0.4 setosa # 6 4.6 3.4 1.4 0.3 setosa # 7 5.0 3.4 1.5 0.2 setosa # 8 4.4 2.9 1.4 0.2 setosa # 9 4.9 3.1 1.5 0.1 setosa
12345678910111213141516为方便后续处理,首先进行一些公共操作
iris_data = np.loadtxt("iris.csv", dtype=object, delimiter=',', skiprows=1) sepalLength = iris_data[:, 0].astype(float) # 读取第一列鸢尾属植物萼片长度 petalLength = iris_data[:, 2].astype(float) # 读取第三列鸢尾属植物花瓣长度 123
print('鸢尾属植物萼片长度的平均值:', np.mean(sepalLength)) #5.843333333333334 print('鸢尾属植物萼片长度的中位数:', np.median(sepalLength)) #5.8 print('鸢尾属植物萼片长度的标准差:', np.std(sepalLength), 'n') #0.8253012917851409 123
index = np.where(np.logical_and(petalLength > 1.5, sepalLength < 5.0)) print('具有sepal_length<5.0并且petal_length>1.5的iris数据行:n', iris_data[index], 'n') 12
df = pd.DataFrame(iris_data[index], columns=['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'species']) df.sort_values('sepal_length', axis=0, ascending = True, inplace = True, kind ='quicksort', na_position='last') df.to_csv('out.csv') print('在3)的基础上,根据sepal_length列对数据集的排序结果:n', df, 'n') 1234
vals, counts = np.unique(petalLength, return_counts=True) print('鸢尾属植物数据集中找到最常见的花瓣长度值:', vals[np.argmax(counts)]) # 1.4 print('鸢尾属植物数据集中找到最常见的花瓣长度值出现次数:', np.amax(counts)) # 13 123
x = np.percentile(sepalLength, [5, 95]) print('鸢尾属植物萼片长度的第5和第95百分位数:',x) # [4.6 7.255] 12
DataFrame.sort_values(by,axis = 0,ascending = True,inplace = False,kind =' quicksort ',na_position ='last' ) 参数说明 by: str或str的列表,如果axis=0或axis='index',那么by='列名';如果axis=1或axis='columns',那么by='行名' axis: {0或'index';1或'columns'} 默认为0,即纵向排序,如果为1,则为横向排序 ascending: 布尔型,默认为True,即升序 inplace: 布尔型,是否用排序后的数据代替现有数据 kind: 排序算法, {'quicksort','mergesort','heapsort'},默认'quicksort' na_position: {'first','last'},默认'last' ,即将缺失值放在最后。 12345678
sepal_length sepal_width petal_length petal_width species 0 5.1 3.5 1.4 0.2 setosa 1 4.9 3.0 1.4 0.2 setosa 2 4.7 3.2 1.3 0.2 setosa 3 4.6 3.1 1.5 0.2 setosa 4 5.0 3.6 1.4 0.2 setosa 5 5.4 3.9 1.7 0.4 setosa 6 4.6 3.4 1.4 0.3 setosa 7 5.0 3.4 1.5 0.2 setosa 8 4.4 2.9 1.4 0.2 setosa 9 4.9 3.1 1.5 0.1 setosa 鸢尾属植物萼片长度的平均值: 5.843333333333334 鸢尾属植物萼片长度的中位数: 5.8 鸢尾属植物萼片长度的标准差: 0.8253012917851409 具有sepal_length<5.0并且petal_length>1.5的iris数据行: [['4.8' '3.4' '1.6' '0.2' 'setosa'] ['4.8' '3.4' '1.9' '0.2' 'setosa'] ['4.7' '3.2' '1.6' '0.2' 'setosa'] ['4.8' '3.1' '1.6' '0.2' 'setosa'] ['4.9' '2.4' '3.3' '1.0' 'versicolor'] ['4.9' '2.5' '4.5' '1.7' 'virginica']] 在3)的基础上,根据sepal_length列对数据集的排序结果: sepal_length sepal_width petal_length petal_width species 2 4.7 3.2 1.6 0.2 setosa 0 4.8 3.4 1.6 0.2 setosa 1 4.8 3.4 1.9 0.2 setosa 3 4.8 3.1 1.6 0.2 setosa 4 4.9 2.4 3.3 1.0 versicolor 5 4.9 2.5 4.5 1.7 virginica 鸢尾属植物数据集中找到最常见的花瓣长度值: 1.4 鸢尾属植物数据集中找到最常见的花瓣长度值出现次数: 13 鸢尾属植物萼片长度的第5和第95百分位数: [4.6 7.255]
123456789101112131415161718192021222324252627282930313233343536# -*- coding: utf-8 -*- ''' Data: 20221020 Author: Pingqian Description: ''' import numpy as np # 导入numpy库并简写为np import pandas as pd # 导入Pandas库并简写为pd # 1.导入鸢尾植物数据集(iris.csv),保存为dataframe对象 iris_data = pd.read_csv('iris.csv') # 导入鸢尾植物数据集(iris.csv),保存为dataframe对象 print(iris_data[0:10],'n') # 输出前十行看看效果 iris_data = np.loadtxt("iris.csv", dtype=object, delimiter=',', skiprows=1) sepalLength = iris_data[:, 0].astype(float) # 读取第一列鸢尾属植物萼片长度 petalLength = iris_data[:, 2].astype(float) # 读取第三列鸢尾属植物花瓣长度 # 2.求出鸢尾属植物萼片长度的平均值、中位数和标准差,使用print函数输出 print('鸢尾属植物萼片长度的平均值:', np.mean(sepalLength)) #5.843333333333334 print('鸢尾属植物萼片长度的中位数:', np.median(sepalLength)) #5.8 print('鸢尾属植物萼片长度的标准差:', np.std(sepalLength), 'n') #0.8253012917851409 # 3.筛选具有sepal_length<5.0并且petal_length>1.5的iris数据行 index = np.where(np.logical_and(petalLength > 1.5, sepalLength < 5.0)) print('具有sepal_length<5.0并且petal_length>1.5的iris数据行:n', iris_data[index], 'n') # 4.在3)的基础上,根据sepal_length列对数据集进行排序,新的数据集保存为csv df = pd.DataFrame(iris_data[index], columns=['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'species']) df.sort_values('sepal_length', axis=0, ascending = True, inplace = True, kind ='quicksort', na_position='last') df.to_csv('out.csv') print('在3)的基础上,根据sepal_length列对数据集的排序结果:n', df, 'n') # 5.在鸢尾属植物数据集中找到最常见的花瓣长度值,使用print函数输出 vals, counts = np.unique(petalLength, return_counts=True) print('鸢尾属植物数据集中找到最常见的花瓣长度值:', vals[np.argmax(counts)]) # 1.4 print('鸢尾属植物数据集中找到最常见的花瓣长度值出现次数:', np.amax(counts)) # 13 # 6.找到鸢尾属植物萼片长度的第5和第95百分位数,使用print函数输出 x = np.percentile(sepalLength, [5, 95]) print('鸢尾属植物萼片长度的第5和第95百分位数:',x) # [4.6 7.255]
12345678910111213141516171819202122232425262728293031323334353637383940414243D a t a A n a l y s i s & A l g o r i t h m D e s i g n , Z i w e i L i , S c h o o l o f I n f o r m a t i o n S c i e n c e a n d T e c h n o l o g y , F u d a n . Data Analysis & Algorithm Design, Ziwei Li, School of Information Science and Technology, Fudan. DataAnalysis&AlgorithmDesign,ZiweiLi,SchoolofInformationScienceandTechnology,Fudan. ↩︎
" I R I S , " 百度百科 . h t t p s : / / b a i k e . b a i d u . c o m / i t e m / I R I S / 4061453 ? f r = a l a d d i n ( a c c e s s e d O c t . 24 , 2022 ) . "IRIS," 百度百科. https://baike.baidu.com/item/IRIS/4061453?fr=aladdin (accessed Oct. 24, 2022). "IRIS,"百度百科.https://baike.baidu.com/item/IRIS/4061453?fr=aladdin(accessedOct.24,2022). ↩︎
《利用Python进行数据分析》. ↩︎ ↩︎
相关知识
python利用c4.5决策树对鸢尾花卉数据集进行分类(iris)
深度学习花卉识别:Python数据集解析
【叶片病虫害数据集】果树叶片病变识别 机器视觉 Python (含数据集)
Python实现Iris数据集(鸢尾花卉数据集)meanshift聚类
分析鸢尾花数据集
鸢尾花数据集下载
iris鸢尾花数据集最全数据分析写在前面本文介绍数据预处理
python数据分析与展示
《机器学习》分析鸢尾花数据集
鸢尾花卉数据集资源
网址: 数据分析(Python)入门—鸢尾植物数据集处理 https://m.huajiangbk.com/newsview546262.html
上一篇: 描述性统计分析都用到哪些可视化图 |
下一篇: Python数据分析——寒假学习 |