版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
一、如何创建菜单栏
import socket
import threading
import tkinter as tk
import tkinter.messagebox
import tkinter.scrolledtext
import tkinter.filedialog
from tkinter import *
#-----------------一、创建窗口------------------------
win=tk.Tk()
win["height"]=400
win["width"]=600
filename="" #定义空文件名
#-----------------二、功能定义区----------------------
def openfun():
global filename
filename=tk.filedialog.askopenfilename(title="openfile")#访问文件夹
if filename!="": #当文件不为0时,读取文件夹
fff=open(filename,"r").read()
txtCont.insert(END,fff)
pass
def savefun():
pass
def saveasfun():
pass
def closefun():
pass
def copyfun():
pass
def pastefun():
pass
def cutfun():
pass
#-------------------三、添加组件------------------------
#1.定义菜单栏
menu1=tk.Menu(win)
#2.定义子菜单栏
submenu=tk.Menu(menu1,tearoff=0)
#3.向子菜单栏中添加选项
#---------------------------------------------------------------------
submenu.add_command(label="Open",command=openfun) #1.向子菜单添加选项
submenu.add_separator() #2.定义分割线
submenu.add_command(label="Save",command=openfun)
submenu.add_separator()
submenu.add_command(label="SaveAs",command=openfun)
submenu.add_separator()
submenu.add_command(label="Close",command=openfun)
#-----------------------------------------------------------------------
submenu2=tk.Menu(menu1,tearoff=0)
submenu2.add_command(label="Copy",command=openfun)
submenu2.add_separator()
submenu2.add_command(label="Cut",command=openfun)
submenu2.add_separator()
submenu2.add_command(label="Paste",command=openfun)
#------------------------------------------------------------------------
#4.向菜单栏添加到子菜单栏
menu1.add_cascade(label="File",menu=submenu)
menu1.add_cascade(label="Edit",menu=submenu2)
#5.将菜单显示到窗口
win.config(menu=menu1)#把menu1这个菜单对象作为win窗口的主菜单
#6.给窗口添加滑动面板
txtCont=tk.scrolledtext.ScrolledText(win,wrap=tk.WORD)
txtCont.pack(fill=tk.BOTH)
win.mainloop()
二、创建直方图
1.叠加bar图
import numpy as np
import matplotlib as mpl
mpl.rcParams["font.sans-serif"]=["SimHei"]
#--------一、数据-----------------
x_data=[1,2,3,4]
y_data=[150,550,100,600]
y_data2=[100,650,300,200]
#--------二、绘制直方图----------------------
import matplotlib.pyplot as plt
plt.bar(x=range(len(x_data)),height=y_data,Label="C语言基础",color="steelblue",alpha=0.6) # x(位置) y(高度) 名称 颜色 深浅
plt.bar(x=np.arange(len(x_data)),height=y_data2,bottom=y_data,Label="java基础",color="indianred",alpha=0.6)#bottom 将y_date放在底部
2.并排的bar图
import numpy as np
import matplotlib as mpl
mpl.rcParams["font.sans-serif"]=["SimHei"]
bar_width=0.3
#--------一、数据-----------------
x_data=[1,2,3,4]
y_data=[150,550,100,600]
y_data2=[100,650,300,200]
y_data3=[60,50,350,220]
#--------二、绘制直方图----------------------
import matplotlib.pyplot as plt
plt.bar(x=np.arange(len(x_data)),width=bar_width,height=y_data,Label="C语言基础",color="blue",alpha=0.6) #width 条形图的宽度
plt.bar(x=np.arange(len(x_data))+bar_width,width=bar_width,height=y_data2,Label="java基础",color="red",alpha=0.6)
plt.bar(x=np.arange(len(x_data))+bar_width*2,width=bar_width,height=y_data3,Label="java基础",color="green",alpha=0.6)
plt.show()
三、pandas读取数据的三种格式
import pandas as pd
#-----------------------一、读取table----------------------------------
order=pd.read_table(r"G:\大数据实验数据库\3.大数据实验数据\meal_order_info.csv",sep=",",encoding="GBK")
#-----------------------二、读取csv----------------------------------
order=pd.read_csv(r"G:\大数据实验数据库\3.大数据实验数据\meal_order_info.csv",sep=",",header=None,encoding="GBK")
order.to_csv("c:/ab.csv",sep=",",index=False,header=False) #index不展示横向索引,header不展示纵向索引
#-----------------------三、读取execel----------------------------------
userlist=pd.read_excel("G:/大数据实验数据库/3.大数据实验数据/users.xlsx")
print(userlist)
四、pandas读取execel的具体操作
import pandas as pd
detail=pd.read_excel("G:/大数据实验数据库/3.大数据实验数据/meal_order_detail.xlsx",sep=",")
#-----------------一、矩阵信息-------------------------
print(detail.ndim) #返回矩阵的维数
print(detail.shape) #返回是几乘几的矩阵
print(detail.size) #返回矩阵的大小字节数
#-----------------二、列的信息-------------------------
print(detail.columns) #返回每一列的名称
print(detail.dtypes) #返回每一列的数据类型
print(detail.values) #返回每一列的值
#-----------------三、具体的值-------------------------
#1.找某一个值(找出第1列第1行的数据的两种方法)
print(detail.detail_id[0])
print(detail["detail_id"][0])
#2.找一系列值
detail["detail_id"][:10] #(找出第1列1到10行的数据)
detail["detail_id"][130:100:-1] #(倒序找出第1列130行到101行的数据)
#3.找特定的某一个值
t=detail.columns[2] #找出第三列
detail[t][100:130] #再找出第三列,100-129的行的所有数据