国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee

 找回密碼
 注冊
搜索

Python操作csv文件源程序

[復制鏈接]
樓主
路漫漫 發表于 2020-6-10 17:18:09 | 只看該作者 |只看大圖 |倒序瀏覽 |閱讀模式
Python操作csv文件源代碼.rar (27.59 KB, 售價: 1 E幣)
Python操作csv文件源程序 1.png

部分代碼:
  1. # -*- coding:utf-8 -*-
  2. #以只讀的方式打開指定的擴展名為csv的文件,其編碼格式為UTF-8-sig,注意這個位置的編碼格式不能是utf-8
  3. file = open(r'E:\python\a.csv','r',encoding='utf-8-sig')
  4. #讀取文件的內容并將其賦給變量data
  5. data = csv.reader(file)
  6. #讀取變量data中的第一行(表頭)
  7. header = next(data)
  8. #print('header = ' + str(header))
  9. #創建一個列表attributeList,專門存放數據源的屬性值
  10. attributeList = []
  11. #創建一個列表resultList,專門存放對應各行記錄的結果值
  12. resultList = []

  13. for row in data:
  14.     resultList.append(row[len(row) - 1])   #將每行記錄的結果值存入resultList中
  15.     rowDictionary = {}                     #定義一個詞典rowDictionary,用來存放每行的屬性名稱及其對應的屬性值
  16.     for i in range(1,len(row) - 1):
  17.         rowDictionary[header[i]] = row[i]  #向詞典rowDictionary添加屬性名稱及其對應的屬性值
  18.     attributeList.append(rowDictionary)    #將每次內層循環產生的詞典添加到列表attributeList中


  19. # print(resultList)

  20. vec = DictVectorizer()                     #創建一個DictVectorizer的實例,DictVectorizer是字典特征提取器,用來將數據的數據類型轉化為整型
  21. attributeArray = vec.fit_transform(attributeList).toarray()   #利用vec實例將列表attributeList轉化成“01”矩陣,函數fit_transform是先擬合數據,再標準化,函數toarray是將轉化后的數據轉變為數組
  22. title = vec.get_feature_names()            #獲取vec中所有特征向量的名稱和及其能取到的值

  23. #print(title)
  24. #print(array)

  25. lb = preprocessing.LabelBinarizer()        #初始化變量lb,preprocessing.LabelBinarizer()的作用是可將分類數據轉化為“01”數據,例如可以把yes和no轉化為0和1,或是把incident和normal轉化為0和1
  26. resultArray = lb.fit_transform(resultList) #將結果值列表resultList轉化為“01”矩陣

  27. #print(resultArray)

  28. transformArray = tree.DecisionTreeClassifier(criterion='entropy') #利用分類決策樹tree(已引入)模塊創建決策樹分類器DecisionTreeClassifier,其實現算法是ID3算法(criterion=entropy)
  29. transformArray = transformArray.fit(attributeArray, resultArray)  #根據attributeArray和resultArray生成決策樹

  30. #利用pip安裝graphviz包和pydotplus包
  31. dotData = tree.export_graphviz(transformArray,feature_names=title,out_file=None)#根據transformArray和title生成判定樹的節點,同時讓輸出文件為None(out_file=None)

  32. graph = pydotplus.graph_from_dot_data(dotData)                                  #根據上條語句生成的決策樹結點dotData生成判定樹的圖形結構

  33. graph.write_pdf('E:/python/a.pdf') #將樹形結構寫入到指定的文件中
復制代碼

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則

手機版|小黑屋|ELEOK |網站地圖

GMT+8, 2026-5-26 01:07

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回復 返回頂部 返回列表