专业的编程技术博客社区

网站首页 > 博客文章 正文

零起点Python机器学习快速入门-5-1-Iris爱丽丝

baijin 2025-04-26 16:37:44 博客文章 13 ℃ 0 评论

实现了对一个 CSV 文件的数据读取和基本分析。首先,导入了多个标准库、第三方库以及自定义模块,为后续的数据处理和分析提供支持。然后,使用 pandas 的 read_csv 函数读取 dat/iris.csv 文件,将其存储为 DataFrame 对象 df。接着,打印出 df 的最后几行数据和基本统计描述信息,帮助了解数据的大致情况。之后,对 df 中 xname 列进行计数统计,统计每个不同值出现的次数并打印出来。最后,程序输出 ok! 表示执行完毕。通过这些操作,对数据文件进行了初步的探索性分析。

# 导入 os 模块,用于与操作系统进行交互,如文件和目录操作
import os
# 导入 sys 模块,提供对 Python 解释器相关的操作和参数
import sys
# 导入 re 模块,用于处理正则表达式,可进行字符串的匹配、查找和替换等操作
import re
# 导入 arrow 模块,用于处理日期和时间,提供更便捷的日期时间操作功能
import arrow
# 导入 bs4 模块,BeautifulSoup 库的一部分,用于解析 HTML 和 XML 文档
import bs4
# 导入 pandas 库,别名为 pd,用于数据处理和分析,提供了 DataFrame 等数据结构
import pandas as pd

# 导入 requests 模块,用于发送 HTTP 请求,方便获取网页内容
import requests
# 从 bs4 模块中导入 BeautifulSoup 类,用于解析 HTML 或 XML 文档
from bs4 import BeautifulSoup 

# 导入自定义模块 zsys,推测包含系统相关的配置或常量
import zsys
# 导入自定义模块 ztools,别名为 zt,可能包含一些通用工具函数
import ztools as zt
# 导入自定义模块 ztools_str,别名为 zstr,可能包含字符串处理的工具函数
import ztools_str as zstr
# 导入自定义模块 ztools_web,别名为 zweb,可能包含网络相关的工具函数
import ztools_web as zweb
# 导入自定义模块 ztools_data,别名为 zdat,可能包含数据处理的工具函数
import ztools_data as zdat
# 导入自定义模块 zpd_talib,别名为 zta,可能包含与 pandas 和 TA-Lib 相关的工具函数
import zpd_talib as zta
#
# 导入自定义模块 tfb_sys,别名为 tfsys,推测与某个系统的配置或设置相关
import tfb_sys as tfsys
# 导入自定义模块 tfb_tools,别名为 tft,可能包含特定任务的工具函数
import tfb_tools as tft
# 导入自定义模块 tfb_strategy,别名为 tfsty,可能包含策略相关的函数
import tfb_strategy as tfsty
# 导入自定义模块 tfb_backtest,别名为 tfbt,可能包含回测相关的函数
import tfb_backtest as tfbt
#
#-----------------------

#1 
# 定义一个字符串变量 fss,存储要读取的 CSV 文件的路径
fss = 'dat/iris.csv'
# 使用 pandas 的 read_csv 函数读取 CSV 文件,index_col=False 表示不将任何列作为索引列
df = pd.read_csv(fss, index_col=False)
# 打印提示信息,表示下面输出的是 #1 部分关于 df 的信息
print('\n#1 df')
# 打印 DataFrame 的最后几行数据,方便查看数据的末尾情况
print(df.tail())
# 打印 DataFrame 的基本统计描述信息,如计数、均值、标准差等
print(df.describe())

#2
# 对 DataFrame 中 'xname' 列进行计数统计,统计每个不同值出现的次数
d10 = df['xname'].value_counts()
# 打印提示信息,表示下面输出的是 #2 部分关于 'xname' 列的计数信息
print('\n#2 xname')       
# 打印 'xname' 列每个不同值出现的次数
print(d10)       

#-----------------------    
# 打印提示信息,表示程序正常执行完毕
print('\nok!')
runfile('D:/zwPython/zwrk/4_零起点Python机器学习快速入门/zai101_iris01.py', wdir='D:/zwPython/zwrk/4_零起点Python机器学习快速入门')

#1 df
      x1   x2   x3   x4      xname
145  6.7  3.0  5.2  2.3  virginica
146  6.3  2.5  5.0  1.9  virginica
147  6.5  3.0  5.2  2.0  virginica
148  6.2  3.4  5.4  2.3  virginica
149  5.9  3.0  5.1  1.8  virginica
               x1          x2          x3          x4
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

#2 xname
versicolor    50
virginica     50
setosa        50
Name: xname, dtype: int64

ok!
d:\zwpython\py37\python-3.7.6.amd64\lib\site-packages\sklearn\externals\joblib\__init__.py:15: FutureWarning:

sklearn.externals.joblib is deprecated in 0.21 and will be removed in 0.23. Please import this functionality directly from joblib, which can be installed with: pip install joblib. If this warning is raised when loading pickled models, you may need to re-serialize those models with scikit-learn 0.21+.

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表