设为首页
收藏本站
找回密码
开启辅助访问
登录
注册
只需一步,快速开始
首页
BBS
在线充值
搜索
工控币获得方法
联系方式
搜索
搜索
本版
帖子
用户
工控论坛
»
首页
›
电子技术
›
STM32/8
›
Python操作csv文件源程序
返回列表
发新帖
Python操作csv文件源程序
[复制链接]
2
|
0
|
2020-6-10 17:18:09
|
显示全部楼层
|
阅读模式
Python操作csv文件源代码.rar
(27.59 KB, 售价: 1 工控币)
2020-6-10 17:17 上传
点击文件名下载附件
部分代码:
# -*- coding:utf-8 -*-
#以只读的方式打开指定的扩展名为csv的文件,其编码格式为UTF-8-sig,注意这个位置的编码格式不能是utf-8
file = open(r'E:\python\a.csv','r',encoding='utf-8-sig')
#读取文件的内容并将其赋给变量data
data = csv.reader(file)
#读取变量data中的第一行(表头)
header = next(data)
#print('header = ' + str(header))
#创建一个列表attributeList,专门存放数据源的属性值
attributeList = []
#创建一个列表resultList,专门存放对应各行记录的结果值
resultList = []
for row in data:
resultList.append(row[len(row) - 1]) #将每行记录的结果值存入resultList中
rowDictionary = {} #定义一个词典rowDictionary,用来存放每行的属性名称及其对应的属性值
for i in range(1,len(row) - 1):
rowDictionary[header[i]] = row[i] #向词典rowDictionary添加属性名称及其对应的属性值
attributeList.append(rowDictionary) #将每次内层循环产生的词典添加到列表attributeList中
# print(resultList)
vec = DictVectorizer() #创建一个DictVectorizer的实例,DictVectorizer是字典特征提取器,用来将数据的数据类型转化为整型
attributeArray = vec.fit_transform(attributeList).toarray() #利用vec实例将列表attributeList转化成“01”矩阵,函数fit_transform是先拟合数据,再标准化,函数toarray是将转化后的数据转变为数组
title = vec.get_feature_names() #获取vec中所有特征向量的名称和及其能取到的值
#print(title)
#print(array)
lb = preprocessing.LabelBinarizer() #初始化变量lb,preprocessing.LabelBinarizer()的作用是可将分类数据转化为“01”数据,例如可以把yes和no转化为0和1,或是把incident和normal转化为0和1
resultArray = lb.fit_transform(resultList) #将结果值列表resultList转化为“01”矩阵
#print(resultArray)
transformArray = tree.DecisionTreeClassifier(criterion='entropy') #利用分类决策树tree(已引入)模块创建决策树分类器DecisionTreeClassifier,其实现算法是ID3算法(criterion=entropy)
transformArray = transformArray.fit(attributeArray, resultArray) #根据attributeArray和resultArray生成决策树
#利用pip安装graphviz包和pydotplus包
dotData = tree.export_graphviz(transformArray,feature_names=title,out_file=None)#根据transformArray和title生成判定树的节点,同时让输出文件为None(out_file=None)
graph = pydotplus.graph_from_dot_data(dotData) #根据上条语句生成的决策树结点dotData生成判定树的图形结构
graph.write_pdf('E:/python/a.pdf') #将树形结构写入到指定的文件中
复制代码
csv
,
python
相关帖子
•
Python随机森林例子 源码分享
•
LabVIEW调用python代码
•
八数码难题 人工智能python代码含宽度优先算法
•
简单的Python程序实现PCAN自动发送CAN报文
•
Python串口助手 TK界面(含源代码)
•
MPU-6050使用Python上位机监控实时动作
•
Python移植到SAIL-IMX7D
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
路漫漫
194
主题
199
帖子
74
积分
初级会员
初级会员, 积分 74, 距离下一级还需 426 积分
初级会员, 积分 74, 距离下一级还需 426 积分
工控币
74
加好友
发消息
回复楼主
返回列表
电子技术综合讨论
单片机嵌入式
EDA设计仿真
STM32/8
51单片机
上位机开发及系统管理
Labview
Multisim仿真
图文推荐
西门子1200plc与RKC温控模组com-ml profinet通讯gsd 程序 文档
2021-02-24
PLC-LAB-非标自动化2D建模仿真软件 中文说明和操作演示视频
2021-02-15
组态王机械手加反应罐监控系统 工程源文件与设计文档
2021-02-04
太阳能翻板追日控制 采用s7-200plc与光照度模块modbus通信
2021-02-01
基于51单片机数字电压表 程序 原理图 pcb 仿真文件 论文
2021-01-26
热门排行
1
WINCC运行时动态锁定/解锁相应系统组合键
2
普洛菲斯触摸屏软件 GP-Pro EX 4.09
3
最全EPLAN部件库,淘宝购买的
4
彻底搞定C指针(完全版·修订增补版)
5
西门子SINUMERIK 828D 840D sl数控 培训教
6
激光焊接机电控系统 台达PLC程序 威纶触摸
7
GE iFIX 6.5 English安装软件
8
音频功率放大器Multisim仿真电路设计
9
数字电路拔河机Multisim仿真设计
10
函数信号发生器Multisim仿真 可调频 幅值(