書友匯德天5小時精心整理分享如何自建數據集【3大模塊+逾百個python知識點】吹響集結號!

各位好朋友你們如今好!時光流逝,學習不止,德天老師經過近期學習整理爲你們呈現一篇精心製做的好文!python

等做品也是一種享受,由於學習過程是一次積累和沉澱,因此爲你們送出文章也是一次加工和整理,雖發文隔久,但堅持一如入往常,由於在編程的世界裏,歷來不缺少創新的火花,和創造的奇蹟!

先來給你們看一下咱們今天要作的事情!web

第一模塊:OS

一、D盤建立python\students文件夾

D盤建立students文件夾

二、分別創建兩個文件

文件位置編程

D:\python\students

在這裏插入圖片描述

接下來,到了上乾貨時間,

送上咱們須要自制100條數據的學生名字命名爲:students_names,而後再自制數據Chinese,Math,other_subjects三列成績數據命名:students_scores
在這裏插入圖片描述
在這裏插入圖片描述bash

1 系統模塊os建目錄

知識索引:

  1. 定義函數mkdir,引入參數路徑path

  2. 去除路徑前空格保存到Path

  3. 去除路徑尾部\ ,再次保存到path

  4. 利用os模塊下os.path.exists(「d:\python\students」)判斷路徑是否存在,返回結果保存在isExists中

  5. if not isExists: 建立路徑不存在則if 後爲not False=True,則建立,不然輸出目錄已存在

  6. return True,意爲若是系統建立了目錄則isExists=True,若是系統沒有建立目錄,則isExists=False

源碼展現

def mkdir(path):
       # 引入模塊
       import os

       # 去除首位空格
       path = path.strip()
       # 去除尾部 \ 符號
       path = path.rstrip("\\")
       isExists = os.path.exists("d:\\python\\students")

       # 判斷結果
       if not isExists:
              # 若是不存在則建立目錄
              new_path = "d:\\python\\students"
              os.makedirs(new_path)

              print(" 目錄建立成功 ")
              return True

       else:
              # 若是目錄存在則不建立,並提示目錄已存在
              print("目錄已存在")
              print(isExists)

# 建立一個參數位置在d盤目錄下,調用函數
mkpath="d:\\"
mkdir(mkpath)

到此咱們系統中保存文件的目錄建立成功

模塊2:import random

  1. 隨機數據模塊在本文檔中會引用兩次,生成學生姓名文件會用到,後面還會用到

  2. 獲取列表長度len(fuxing) len(xing) len(ming) len(ming2),這個命領幫助咱們取列表長度,目的是拿到一個列表內的索引值

  3. fx = random.randint(0,len(fuxing)-5)這是幫助咱們拿到fuxing列表中的一個隨機索引而後減去5的值

  4. fu_name.append(’ ’ _fuxing[fx] + ming[m1] + ming2[m2] ,結合3,咱們fuxing[fx] ,能夠幫助咱們取到fuxing列表中索引爲fx值的一個列表元素,在本案例源碼中其它的列表中取元素也是一樣道理。

  5. append幫助咱們把幾個變量中拿到的索引元素合併後,輸入一個新的名字列表,至此咱們完成了一個名字的隨機獲取,你們是否是感受到頗有成就感呢?

6.#### 經過name變量把取得的全部名字加到一塊兒放入name中app

接下來咱們爲你們上乾貨源碼

學習python編程必定要認真學習,及時概括,用好你手頭的工具,不積累的學習,是白白浪費時間,學會分析所有內容,用好每個程序內的函數,變量,明白他們的工做原理,而後反覆練習,框架

成功不是一口吃個胖子,必定是不停口,吃的健康,你說對嗎?

建立學生姓名錶:student_names

在這裏插入圖片描述

建立文件源碼

import random
import pandas as pd

xing = [
'趙', '錢', '孫', '李', '周', '吳', '鄭', '王', '馮', '陳', '褚', '衛', '蔣', '沈', '韓', '楊', '朱', '秦', '尤', '許',
'何', '呂', '施', '張', '孔', '曹', '嚴', '華', '金', '魏', '陶', '姜', '戚', '謝', '鄒', '喻', '柏', '水', '竇', '章',
'雲', '蘇', '潘', '葛', '奚', '範', '彭', '郎', '魯', '韋', '昌', '馬', '苗', '鳳', '花', '方', '俞', '任', '袁', '柳',
'酆', '鮑', '史', '唐', '費', '廉', '岑', '薛', '雷', '賀', '倪', '湯', '滕', '殷', '羅', '畢', '郝', '鄔', '安', '常',
'樂', '於', '時', '傅', '皮', '卞', '齊', '康', '伍', '餘', '元', '卜', '顧', '孟', '平', '黃', '和', '穆', '蕭', '尹',
'姚', '邵', '堪', '汪', '祁', '毛', '禹', '狄', '米', '貝', '明', '臧', '計', '伏', '成', '戴', '談', '宋', '茅', '龐',
'熊', '紀', '舒', '屈', '項', '祝', '董', '梁']
fuxing = ['万俟','司馬','上官','歐陽','夏侯','諸葛','聞人','東方','赫連','皇甫','尉遲','公羊','諸葛','聞人','東方','赫連',
          '皇甫','尉遲','澹臺','公冶','宗政','濮陽','淳于','單于','太叔','申屠','公孫','仲孫','軒轅','令狐','宇文','長孫',
          '慕容','司徒','司空']

ming = [
'的', '一', '是', '了', '我', '不', '人', '在', '他', '有', '這', '個', '上', '們', '來', '到', '時', '大', '地', '爲',
'子', '中', '你', '說', '生', '國', '年', '着', '就', '那', '和', '要', '她', '出', '也', '得', '裏', '後', '自', '以',
'會', '家', '可', '下', '而', '過', '天', '去', '能', '對', '小', '多', '然', '於', '心', '學', '麼', '之', '都', '好',
'看', '起', '發', '當', '沒', '成', '只', '如', '事', '把', '還', '用', '第', '樣', '道', '想', '做', '種', '開', '美',
'總', '從', '無', '情', '己', '面', '最', '女', '但', '現', '前', '些', '所', '同', '日', '手', '又', '行', '意', '動',
'方', '期', '它', '頭', '經', '長', '兒', '回', '位', '分', '愛', '老', '因', '很', '給', '名', '法', '間', '斯', '知',
'世', '什', '兩', '次', '使', '身', '者', '被', '高', '已', '親', '其', '進', '此', '話', '常', '與', '活', '正', '感',
'見', '明', '問', '力', '理', '爾', '點', '文', '幾', '定', '本', '公', '特', '作', '外', '孩', '相', '西', '果', '走',
'將', '月', '十', '實', '向', '聲', '車', '全', '信', '重', '三', '機', '工', '物', '氣', '每', '並', '別', '真', '打',
'太', '新', '比', '才', '便', '夫', '再', '書', '部', '水', '像', '眼', '等', '體', '卻', '加', '電', '主', '界', '門',
'利', '海', '受', '聽', '表', '德', '少', '克', '代', '員', '許', '稜', '先', '口', '由', '死', '安', '寫', '性', '馬',
'光', '白', '或', '住', '難', '望', '教', '命', '花', '結', '樂', '色', '更', '拉', '東', '神', '記', '處', '讓', '母',
'父', '應', '直', '字', '場', '平', '報', '友', '關', '放', '至', '張', '認', '接', '告', '入', '笑', '內', '英', '軍',
'候', '民', '歲', '往', '何', '度', '山', '覺', '路', '帶', '萬', '男', '邊', '風', '解', '叫', '任', '金', '快', '原',
'吃', '媽', '變', '通', '師', '立', '象', '數', '四', '失', '滿', '戰', '遠', '格', '士', '音', '輕', '目', '條', '呢',
'病', '始', '達', '深', '完', '今', '提', '求', '清', '王', '化', '空', '業', '思', '切', '怎', '非', '找', '片', '羅',
'錢', '紶', '嗎', '語', '元', '喜', '曾', '離', '飛', '科', '言', '幹', '流', '歡', '約', '各', '即', '指', '合', '反',
'題', '必', '該', '論', '交', '終', '林', '請', '醫', '晚', '制', '球', '決', '窢', '傳', '畫', '保', '讀', '運', '及',
'則', '房', '早', '院', '量', '苦', '火', '布', '品', '近', '坐', '產', '答', '星', '精', '視', '五', '連', '司', '巴',
'奇', '管', '類', '未', '朋', '且', '婚', '臺', '夜', '青', '北', '隊', '久', '乎', '越', '觀', '落', '盡', '形', '影',
'紅', '爸', '百', '令', '周', '吧', '識', '步', '希', '亞', '術', '留', '市', '半', '熱', '送', '興', '造', '談', '容',
'極', '隨', '演', '收', '首', '根', '講', '整', '式', '取', '照', '辦', '強', '石', '古', '華', '諣', '拿', '計', '您',
'裝', '似', '足', '雙', '妻', '尼', '轉', '訴', '米', '稱', '麗', '客', '南', '領', '節', '衣', '站', '黑', '刻', '統',
'斷', '福', '城', '故', '歷', '驚', '臉', '選', '包', '緊', '爭', '另', '建', '維', '絕', '樹', '系', '傷', '示', '願',
'持', '千', '史', '誰', '準', '聯', '婦', '紀', '基', '買', '志', '靜', '阿', '詩', '獨', '復', '痛', '消', '社', '算',
'義', '竟', '確', '酒', '需', '單', '治', '卡', '幸', '蘭', '念', '舉', '僅', '鍾', '怕', '共', '毛', '句', '息', '功',
'官', '待', '究', '跟', '穿', '室', '易', '遊', '程', '號', '居', '考', '突', '皮', '哪', '費', '倒', '價', '圖', '具',
'剛', '腦', '永', '歌', '響', '商', '禮', '細', '專', '黃', '塊', '腳', '味', '靈', '改', '據', '般', '破', '引', '食',
'仍', '存', '衆', '注', '筆', '甚', '某', '沉', '血', '備', '習', '校', '默', '務', '土', '微', '娘', '須', '試', '懷',
'料', '調', '廣', '蜖', '蘇', '顯', '賽', '查', '密', '議', '底', '列', '富', '夢', '錯', '座', '參', '八', '除', '跑',
'亮', '假', '印', '設', '線', '溫', '雖', '掉', '京', '初', '養', '香', '停', '際', '致', '陽', '紙', '李', '納', '驗',
'助', '激', '夠', '嚴', '證', '帝', '飯', '忘', '趣', '支', '春', '集', '丈', '木', '研', '班', '普', '導', '頓', '睡',
'展', '跳', '獲', '藝', '六', '波', '察', '羣', '皇', '段', '急', '庭', '創', '區', '奧', '器', '謝', '弟', '店', '否',
'害', '草', '排', '背', '止', '組', '州', '朝', '封', '睛', '板', '角', '況', '曲', '館', '育', '忙', '質', '河', '續',
'哥', '呼', '若', '推', '境', '遇', '雨', '標', '姐', '充', '圍', '案', '倫', '護', '冷', '警', '貝', '著', '雪', '索',
'劇', '啊', '船', '險', '煙', '依', '鬥', '值', '幫', '漢', '慢', '佛', '肯', '聞', '唱', '沙', '局', '伯', '族', '低',
'玩', '資', '屋', '擊', '速', '顧', '淚', '洲', '團', '聖', '旁', '堂', '兵', '七', '露', '園', '牛', '哭', '旅', '街',
'勞', '型', '烈', '姑', '陳', '莫', '魚', '異', '抱', '寶', '權', '魯', '簡', '態', '級', '票', '怪', '尋', '殺', '律',
'勝', '份', '汽', '右', '洋', '範', '牀', '舞', '祕', '午', '登', '樓', '貴', '吸', '責', '例', '追', '較', '職', '屬',
'漸', '左', '錄', '絲', '牙', '黨', '繼', '託', '趕', '章', '智', '衝', '葉', '胡', '吉', '賣', '堅', '喝', '肉', '遺',
'救', '修', '鬆', '臨', '藏', '擔', '戲', '善', '衛', '藥', '悲', '敢', '靠', '伊', '村', '戴', '詞', '森', '耳', '差',
'短', '祖', '雲', '規', ' ', '散', '迷', '油', '舊', '適', '鄉', '架', '恩', '投', '彈', '鐵', '博', '雷', '府', '壓',
'超', '伏', '勒', '雜', '醒', '洗', '採', '毫', '嘴', '畢', '九', '冰', '既', '狀', '亂', '景', '席', '珍', '童', '頂',
'派', '素', '脫', '農', ' ', '練',  '野', '按', '軍', '拍', '徵', '楠', '骨', '餘', '承', '置', '臓', '彩', '燈', '巨',
'琴', '免', '環', '姆', '暗', '換', '技', '翻', '束', '增', '忍', '餐', '洛', '塞', '缺', '憶', '判', '歐', '層', '付',
'陣', '瑪', '批', '島', '項', '狗', '休', '懂', '武', '革', '良', '惡', '戀', '委', '擁', '娜', '妙', '探', '呀', '營',
'退', '搖', '弄', '桌', '熟', '諾', '宣', '銀', '勢', '獎', '宮', '忽', '套', '康', '供', '優', '課', '鳥', '喊', '降',
'夏', '困', '劉', '罪', '麗', '鞋', '健', '模', '敗', '伴', '守', '揮', '鮮', '財', '孤', '槍', '禁', '恐', '夥', '傑',
'跡', '妹', '藸', '遍', '蓋', '副', '坦', '牌', '江', '順', '秋', '薩', '菜', '劃', '授', '歸', '浪', '聽', '凡', '預',
'奶', '雄', '升', '碃', '編', '典', '彩', '萊', '含', '盛', '濟', '蒙', '棋', '端', '腿', '招', '釋', '介', '燒', '誤',
'乾', '坤']
ming2 = [
'麗', '琴', '馨', '璇', '萍', '希', '媛', '豔', '紅', '莉', '蓉', '玲', '瑛', '茹', '美', '茜', '華', '恬', '嫣', '芸',
'娜', '雨', '燕', '瑤', '彩', '瑩', '妍', '珠', '俐', '妤', '筱', '香', '雯', '倩', '楠', '芳', '婉', '菁', '寒', '肜'
'麗', '琴', '馨', '璇', '萍', '希', '媛', '豔', '紅', '莉', '蓉', '玲', '瑛', '茹', '美', '茜', '華', '恬', '嫣', '芸',
'娜', '雨', '燕', '瑤', '彩', '瑩', '妍', '珠', '俐', '妤', '筱', '香', '雯', '倩', '楠', '芳', '婉', '菁', '寒', '肜'
'麗', '琴', '馨', '璇', '萍', '希', '媛', '豔', '紅', '莉', '蓉', '玲', '瑛', '茹', '美', '茜', '華', '恬', '嫣', '芸',
'娜', '雨', '燕', '瑤', '彩', '瑩', '妍', '珠', '俐', '妤', '筱', '香', '雯', '倩', '楠', '芳', '婉', '菁', '寒', '肜'
'麗', '琴', '馨', '璇', '萍', '希', '媛', '豔', '紅', '莉', '蓉', '玲', '瑛', '茹', '美', '茜', '華', '恬', '嫣', '芸',
'娜', '雨', '燕', '瑤', '彩', '瑩', '妍', '珠', '俐', '妤', '筱', '香', '雯', '倩', '楠', '芳', '婉', '菁', '寒', '肜'
'麗', '琴', '馨', '璇', '萍', '希', '媛', '豔', '紅', '莉', '蓉', '玲', '瑛', '茹', '美', '茜', '華', '恬', '嫣', '芸',
'娜', '雨', '燕', '瑤', '彩', '瑩', '妍', '珠', '俐', '妤', '筱', '香', '雯', '倩', '楠', '芳', '婉', '菁', '寒', '肜'

]
woman_name = []
man_name = []
fu_name = []
for i in range(1,17):
    fx = random.randint(0, len(fuxing) - 5)
    m1  =   random.randint(0,len(ming)-20)
    m2  =   random.randint(0,len(ming2)-10)
    fu_name.append('' + fuxing[fx] + ming[m1] + ming2[m2])

for i in range(1,97):
    x   =   random.randint(0,len(xing)-10)

    m1  =   random.randint(0,len(ming)-20)
    m2  =   random.randint(0,len(ming2)-10)
    woman_name.append(''+xing[x]+ming[m1]+ming2[m2])
    man_name.append('' + xing[x] + ming[m1] + ming2[m2])
    names = woman_name + man_name +fu_name
print(names)


pf_name=pd.DataFrame(names,columns=["姓名"])
pf_name.to_excel('d:\\python\\students\\student_names.xlsx',sheet_name='name_1')

模塊3:pandas 分析模塊

pandas根據保存

  1. pd.DataFrame()構建二維框架數據表函數

  2. .to_excel()保存爲excel電子表格文件函數

建立學生成績表:student_scores.xlsx

在這裏插入圖片描述

知識索引:

  1. 建立空的列表c_other_list = []

  2. 利用模塊random。randrange(20,100)建立隨機數在20-100之間的隨機整數一個,利用c_other_list.append(c_temp)把生成的隨機數以追加形式,保存到列表中,for i in range(1,101)用100次遍歷產生100個隨機數保存到列表中

  3. other_subjects = random.sample(c_other_list,100),再次利用隨機函數中sample函數,從生成的1000個數據中挑出100個保存變量other_subjects中,另外的變量cn,ma也是同理

  4. data_column = [[x] + [y] + [z] for x,y,z in zip(cn,ma,other_subjects)],這句很重要,利用zip把咱們前面生成的數列先打包,而後依次遍歷取出放到x,y,z中使得數據由原來的1行,變成每一個列表中數據1行只有1個,從而變成了100行的顯示效果

  5. 使用pd.DataFrame(data_column,columns=columns) 把原數據轉化爲pd框架二維數據

  6. 最後使用pf_scores.to_excel(‘d:\python\students\student_scores.xlsx’,sheet_name=‘score_3’),把生成的數據所有存入硬盤

在這裏插入圖片描述

數據源代碼:

import random
import pandas as pd

c_other_list = []
c_chi_and_math_list= []

for i in range(1,1001):
    c_temp = random.randrange(20,100)
    c_temp1 = random.randrange(80, 120)

    c_other_list.append(c_temp)
    c_chi_and_math_list.append(c_temp1)

cn = random.sample(c_chi_and_math_list,100)

ma = random.sample(c_chi_and_math_list,100)

other_subjects = random.sample(c_other_list,100)

columns= ["Chinese","Math","other_suject"]
data_column = [[x] + [y] + [z] for x,y,z in zip(cn,ma,other_subjects)
]

pf_scores = pd.DataFrame(data_column,columns=columns)

pf_scores.to_excel('d:\\python\\students\\student_scores.xlsx',sheet_name='score_3')

每一次分享是用心學習的成果,每一次文章的完成至少須要3-5個小時的準備,一方面是對知識的敬畏,另外一方面是對讀者的尊重,屏幕前的您辛苦的點贊,將會激勵我不斷的前行,PYthon學習的路上感謝,感恩,感動有你的陪伴!

咱們一塊兒加油! 書友匯:德天(2020-6-7)