大家好,我是天空之城,今天给大家带来小福利,利用Python基于excel数据的可视化 采用的数据还是之前的爬虫获取的食物卡路里数据
import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt import warnings warnings.filterwarnings("ignore") # matplotlib画图常见参数设置 mpl.rcParams["font.family"] = "SimHei" # 设置字体 mpl.rcParams["axes.unicode_minus"]=False # 用来正常显示负号 plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签 df=pd.DataFrame(pd.read_excel('食物热量对照表1.xlsx')) # print(df.head()) print(df.describe(include='all')) # x= df['食物名称'] # x= [i for i in range(1100)] # y= df['食物热量1'] a=df[['食物名称','食物热量1']].sort_values(by='食物热量1',ascending=False)[:20] print(a) # print(x) # print(y) # plt.plot(x,y) # plt.show()这是数据的前五行情况 print(df.head())
这是所有数据的统计 print(df.describe(include=‘all’)) 数据总量是1100条 食物热量最高的是900大卡, 食物热量相同数目最多是884大卡,
这是所有食物的卡路里折线图 找到食物热量排名前20的食物名称 a=df[[‘食物名称’,‘食物热量1’]].sort_values(by=‘食物热量1’,ascending=False)[:20] print(a) 可以发现热量最高的食物有7种,最高热量是900大卡, 899大卡的食物有12中 热量较高的食物都是各种油,棕榈油,玉米油,混合油,亚麻油等
下面对食物名称作词云图
from wordcloud import WordCloud import jieba # import cv2 as cv # df=pd.DataFrame(pd.read_csv('name.csv',header=1)) # foodname = pd.read_csv('pacong.csv') df=pd.DataFrame(pd.read_excel('食物热量对照表1.xlsx')) all_content = '' for i in range(0, len(df['食物名称1'])): all_content = all_content + df['食物名称1'][i] cut_text = " ".join(jieba.cut(all_content)) # print (cut_text) # print (all_content) # yingping.head() wordcloud = WordCloud(font_path="C:/Windows/Fonts/simfang.ttf", background_color='white', height=400, width=800, scale=20, prefer_horizontal=0.9999).generate(cut_text) plt.figure(figsize=(10, 10)) plt.imshow(wordcloud, interpolation="bilinear") plt.axis("off") # plt.savefig('图6.jpg',dpi=600, bbox_inches='tight',quality=95) plt.show()