目录

  • 1 模块一  Python与机器学习概述
    • 1.1 Python与机器学习简介
    • 1.2 发展历程
    • 1.3 基本语法
    • 1.4 帮助
    • 1.5 应用
    • 1.6 示例源代码(食品识别小小专家系统)
    • 1.7 示例代码   蜡笔小新
    • 1.8 小结
    • 1.9 Python基础教程(教&学资料)
      • 1.9.1 安装Python
      • 1.9.2 第一个python程序
      • 1.9.3 Python基础
      • 1.9.4 函数
      • 1.9.5 高级特性
      • 1.9.6 函数式编程
      • 1.9.7 模块
      • 1.9.8 面向对象编程
      • 1.9.9 面向对象高级编程
      • 1.9.10 错误、调试和测试
      • 1.9.11 IO编程
      • 1.9.12 进程和线程
      • 1.9.13 正则表达式
      • 1.9.14 常用内建模块
      • 1.9.15 常用第三方模块
      • 1.9.16 图形界面
      • 1.9.17 网络编程
      • 1.9.18 电子邮件
      • 1.9.19 访问数据库
      • 1.9.20 Web开发
      • 1.9.21 异步IO
      • 1.9.22 使用MicroPython
      • 1.9.23 实战训练(day1~~day10)
        • 1.9.23.1 Day 1 - 搭建开发环境
        • 1.9.23.2 Day 2 - 编写Web App骨架
        • 1.9.23.3 Day 3 - 编写ORM
        • 1.9.23.4 Day 4 - 编写Model
        • 1.9.23.5 Day 5 - 编写Web框架
        • 1.9.23.6 Day 6 - 编写配置文件
        • 1.9.23.7 Day 7 - 编写MVC
        • 1.9.23.8 Day 8 - 构建前端
        • 1.9.23.9 Day 9 - 编写API
        • 1.9.23.10 Day 10 - 用户注册和登录
      • 1.9.24 Day 11 - 编写日志创建页
      • 1.9.25 Day 12 - 编写日志列表页
      • 1.9.26 Day 13 - 提升开发效率
      • 1.9.27 Day 14 - 完成Web App
      • 1.9.28 Day 15 - 部署Web App
      • 1.9.29 Day 16 - 编写移动App
    • 1.10 FAQ
    • 1.11 阶段总结
  • 2 PYthon程序示例
    • 2.1 程序示例(一)初识程序
    • 2.2 程序示例(二)查看今天是今年的第几天
    • 2.3 程序示例(三)if elif else语句
    • 2.4 程序示例(四)元组,列表, 堆栈,队列
    • 2.5 程序示例(五)学玩游戏《学色彩  神魔三龟玩变色》
    • 2.6 程序示例(六)函数
    • 2.7 程序示例(七)字符串
    • 2.8 程序示例(八)文件
    • 2.9 程序示例(九)排序
    • 2.10 程序示例-机器学习中英单词翻译小专家
    • 2.11 程序示例      画花朵  &  画佩奇
    • 2.12 程序示例   华夏时钟
    • 2.13 示例:  显示图片,响声
    • 2.14 播放声音视频文件mp3、wmv、wav、m4a等)
    • 2.15 Python WEB开发技术实战
  • 3 模块2 NumPy数值计算
    • 3.1 ndarray创建与索引
    • 3.2 ndarray的基础操作
    • 3.3 ufunc
    • 3.4 小结
    • 3.5 习题与实训
  • 4 模块3   pandas基础
    • 4.1 pandas常用类
    • 4.2 DataFrame基础操作
    • 4.3 其他数据类型操作
    • 4.4 小结
    • 4.5 习题与实训
    • 4.6 练习题
  • 5 模块4 pandas进阶
    • 5.1 数据读取与写出
    • 5.2 DataFrame进阶
    • 5.3 数据准备
    • 5.4 小结
    • 5.5 习题与实训
    • 5.6 练习习题及解答(参考)
  • 6 模块5 Matplotlib基础绘图
    • 6.1 Matplotlib绘图基础
    • 6.2 分析特征关系常用图形
    • 6.3 分析特征内部数据状态常用图形
    • 6.4 小结
    • 6.5 习题与实训
  • 7 模块6 机器学习库 scikit-learn
    • 7.1 数据准备
    • 7.2 降维
    • 7.3 分类
    • 7.4 回归
    • 7.5 聚类
    • 7.6 模型选择
    • 7.7 小结
    • 7.8 习题与实训
  • 8 模块7 餐饮企业综合分析
    • 8.1 (案例)餐饮企业分析需求
    • 8.2 数据准备
    • 8.3 使用K-means算法进行客户价值分析
    • 8.4 使用决策树算法实现餐饮客户流失预测
    • 8.5 小结
    • 8.6 习题与实训
  • 9 模块8  通信运营商客户流失分析与预测
    • 9.1 通信运营商客户流失分析需求
    • 9.2 数据准备
    • 9.3 特征工程
    • 9.4 使用多层感知器算法实现通信运营商 客户流失预测
    • 9.5 小结
    • 9.6 习题与实训
  • 10 学习参考资源
    • 10.1 机器学习的通俗讲解
    • 10.2 十大机器学习算法及其应用
    • 10.3 常用机器学习算法优缺点及其应用领域
    • 10.4 轻松学会 Python turtle 绘图
    • 10.5 Python 习题库
      • 10.5.1 习题1
    • 10.6 上机操作实训库
    • 10.7 面试准备题
    • 10.8 Python 程序扩展名 及发布程序时的选择
    • 10.9 计算机Python考试大纲
    • 10.10 Python  基础知识点梳理
    • 10.11 Python常用模块大全
    • 10.12 机器学习基本术语
    • 10.13 几个机器学习的成功案例
    • 10.14 60个机器学习算法应用场景实例
  • 11 章节测验(必测)
    • 11.1 测验一
    • 11.2 测验二
    • 11.3 测验三
    • 11.4 测验四
    • 11.5 测验五
    • 11.6 测验六
    • 11.7 测验七
    • 11.8 测验八
    • 11.9 测验九
    • 11.10 测验十
    • 11.11 编程专项测验
    • 11.12 填空题专项测验
    • 11.13 判断题专项测试
    • 11.14 简答题专项测试
    • 11.15 《机器学习技术》总复习
    • 11.16 书本--习题参考解答
  • 12 综合实训项目及展示
    • 12.1 项目(一)作品展示(1)
    • 12.2 项目(一)作品展示(2)
    • 12.3 团队项目实训(必作!)
习题与实训
  1. # py401  输出系统当前时间

  2. import datetime

  3. i = datetime.datetime.now()

  4. print ("当前的日期和时间是 %s" % i)

  5. print ("ISO格式的日期和时间是 %s" % i.isoformat() )

  6. print ("当前的年份是 %s" %i.year)

  7. print ("当前的月份是 %s" %i.month)

  8. print ("当前的日期是  %s" %i.day)

  9. print ("dd/mm/yyyy 格式是  %s/%s/%s" % (i.day, i.month, i.year) )

  10. print ("当前小时是 %s" %i.hour)

  11. print ("当前分钟是 %s" %i.minute)

  12. print ("当前秒是  %s" %i.second)


import calendar

cal = calendar.month(2021, 2)

print ("以下输出2021年2月份的日历:")

print (cal)



#实训一、完成下面示例体验性实训(理解命令格式及功能,输出结果等)

#【示例】请编程,模拟将45名学生的基本数据(学号,姓名,性别,成绩)输出,并存入的学生成绩表.xlsx。 等等。

import numpy as np

import pandas as pd

import random

########## 写入 .txt     ##########

filename='hxstbd20.txt'    

f= open(filename, 'a')

if f==None:

   f=open(filename,'w')

   f.close()

f= open(filename, 'a')

xj=['林','谢','张','王','吕','李','黄','陈','孙','毛','文','蒋','卢','杨','吴','郭','许','姚','马','邹','金','牛','叶','郑','罗','曹']  #xj  常用姓字

mj=['芳','军','明','华','玉','素','小','红','伟','青','文','章','宏','志','中','宫','金','濠','辉','鹏','京','松','福','彬','赞','海','伟']

mj=mj+['权','朗','瑶','华','玉','素','芳','红','伟','青','文','章','宏','志' ]

#mj  常见人名用字

hm=np.arange(20041001,20041046,1)   #学号 20041001--20041045。 不包括20041046

cg=np.random.uniform(30,100, 45)    #随机生成 45个介于 [30,100)之间的小数的均匀分布成绩 

xsdata=[('学号','姓名','性别', '成绩')]

for k in range(0,45,1):

    i=random.randint(0,25)     #不超过len(xj)

    j=random.randint(0,38)     #不超过len(mj)

    t=random.randint(0,38)

    xm=xj[i]+mj[j]+mj[t]    #xm 随机产生一个的姓名,性别也随机生成

    sex='男'

    if j%7==0:

        sex='女'

    xsdata=xsdata+[(hm[k],xm,sex,int(cg[k]))]    #成绩取整数int(cg[k])

    xh=hm[k]

    fs=int(cg[k])

    print(hm[k],xm,sex,fs,'\n')

    wb=str(xh)+" , "+xm+" , "+sex+" , "+str(fs)+'\n'

    f.write(wb)

f.close()    

print("-"*60)

input("\n =====================按任一键继续  \n")

print(xsdata)

input("\n =====================按任一键继续  \n")

sd=pd.Series(xsdata)   # import pandas as pd 

print(sd)

input("\n =====================按任一键继续  \n")

writer = pd.ExcelWriter('HX20学生成绩表.xlsx')

df1 = pd.DataFrame(data=sd)

df1.to_excel(writer,'20大数据1班')

df1.to_excel(writer,'20大数据2班')

writer.save()

print("===任务完成!===")

#输出女同学数据

for k in range(1,46,1):

    if "女" in  xsdata[k]:

           print(xsdata[k])

input("\n =====================按任一键继续  \n")

#输出男同学数据

writer = pd.ExcelWriter('HXIT20男生成绩表.xlsx')

sdn=('学号','姓名','性别', '成绩')

n=0

for k in range(1,46,1):

    if "男" in  sd[k]:

           print(sd[k])

           sdn=sdn+(sd[k])

           n=n+1

df1 = pd.DataFrame(data=sdn)

df1.to_excel(writer,'20大数据1班男生A表')

writer.save()

input("\n ===20大数据1班男生A表已建立========按任一键继续  \n")

t=len(sdn)//n

dn=np.array(sdn).reshape(n+1, t)

print(dn)

df1 = pd.DataFrame(data=dn)

df1.to_excel(writer,'20大数据1班男生B表')

writer.save()

input("\n =====20大数据1班男生B表已建立!=======按任一键继续  \n")

for k in range(0,n,1):

     print(dn[k])

     print("-"*40)



#实训二、读出数据文件txt 数据示例

import numpy as np

import pandas as pd

########## 读入 .txt     ##########

filename='hxstbd20.txt'   #实训一生成的hxstbd20.txt

try:

    f= open(filename, 'r')

    print(" 数据文件已打开")

except Exception as e:

    print(" 数据文件还没有建立!,已建立测试数据文件")

    f= open(filename, 'w')

    f.write("   测试数据文件  数据  hello! \n")

    f.close()

    print("===================")

        

f=open(filename, 'r')

sd=[]

while True:

        line = f.readline()

        if line: 

           print (line)

           sd=sd+[line]

        else:

           break

f.close()

print("-"*80)

#print(sd)

t=0

while  t<=44:

    if "男" in sd[t]:

       print(sd[t])

       print("-"*80)

    t=t+1



#实训三、读出.xlsx文件数据示例

'''

 pd.read_excel(io, sheetname=0, header=0, skiprows=None, skip_footer=0, index_col=None, names=None, parse_cols=None, parse_dates=False, date_parser=None, na_values=None, thousands=None, convert_float=True, has_index_names=None, converters=None, dtype=None, true_values=None, false_values=None, engine=None, squeeze=False, **kwds)

该函数主要的参数为io、sheetname、header、names、encoding。

io:excel文件,可以是文件路径、文件网址、file-like对象、xlrd workbook;

sheetname:返回指定的sheet,参数可以是字符串(sheet名)、整型(sheet索引)、list(元素为字符串和整型,返回字典{'key':'sheet'})、none(返回字典,全部sheet);

header:指定数据表的表头,参数可以是int、list of ints,即为索引行数为表头;

names:返回指定name的列,参数为array-like对象。

encoding:关键字参数,指定以何种编码读取。

该函数返回pandas中的DataFrame或dict of DataFrame对象,利用DataFrame的相关操作即可读取相应的数据。

'''

#读入数据 代码示例:

import numpy  as np

import pandas as pd

import xlrd

# excel_path = '学生成绩表.xlsx'

# sheet = pd.read_excel('example.xls',sheetname= [0,1])

#参数为None时,返回全部的表格,是一个表格的字典;

d1 = pd.read_excel('HX20学生成绩表.xlsx','20大数据1班')

print('20大数据1班成绩表 \n',d1)

d2 = pd.read_excel('HX20学生成绩表.xlsx','20大数据2班')

print('21大数据2班成绩表 \n',d2)

print(" ===========情况表=== ")

print(d2)

input("\n =====================按任一键继续  \n")

dd=np.array(d2)

import pynp200  as npf  # 自编写的模块 内有: def  nparray(ar) 

npf.nparray(dd)

dd1=dd[:15]

print(dd1)     # 输出前15名学生情况

input("\n =====================按任一键继续  \n")

for k in range(0,46,1):

   print("-"*40)

   print(dd[k])

d = pd.read_excel('HXIT20男生成绩表.xlsx','20大数据1班男生A表')   # 注意观察.xlsx文件实际内容及格式

print('男生成绩  A表 \n')

print(d)

h=len(d)//8

print("h=",h)

N1=np.array(d).reshape(h*2+1,8) 

print('男学生成绩 A表(2) \n')

for k in range(0,h,1):

   print("-"*40)

   print(N1[k])

input("\n =====================按任一键继续  \n")

df= pd.read_excel('HXIT20男生成绩表.xlsx','20大数据1班男生B表')   # 注意观察.xlsx文件实际内容及格式

print('男生成绩 B表 \n')

print(df)

input("\n =====================按任一键继续  \n")

print('读取的Excel文件前5行数据为:\n', df.head())

print('df的后2行数据为:\n', df.tail(2))

h=len(df)

print('返回索引值为k的行:\n')

for k in range(0,h,1):

   print("-"*40)

   #df.loc[n]:返回索引值为n的行。

   print(df.loc[k])

input("\n =====================按任一键继续  \n")

print('返回索引值为m行n列的数据:\n')

for k in range(0,h,1):

   print("-"*40)

   print(df.loc[k][1],df.loc[k][3])  #df.loc[m][n]:返回索引值为m行n列的数据。

input("\n =====================按任一键继续  \n")

print("#df.loc[m:n]:返回索引值为m到n的行。")

print(df.loc[5:10])

print("df['str']:返回列名为str的这一列。")

print(df[0],df[1],df[3])

   

print("df.sort_values('str'   ")

print(df.sort_values(3))


input("\n =====================按任一键继续  \n")