调用第三方包的语法示例
Import Pandas as pd
Import Numpy as np
Import matplotlib.plot as plt
主要解决显示乱码问题,读取EXCEL表内容中文字可能会乱码,解决办法,在第一行声明编码方式,# -*- coding: gbk -*-
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['KaiTi', 'SimHei', 'FangSong'] # 汉字字体,优先使用楷体,如果找不到楷体,则使用黑体
mpl.rcParams['font.size'] = 12 # 字体大小
mpl.rcParams['axes.unicode_minus'] = False # 正常显示负号
label = pd.read_excel(r'绝对路径+文件名.xlsx', sheet_name='产业链数据聚合分析', usecols=[0])
路径用单引号,前加个r表示绝对路径,sheet_name参数表示需要读取那个sheet的内容,因为一个表可包含多个sheet,usecols=[],语法表示 读取某一列的值,注意从0开始索引,usecols=[0,8]表示读取第一列和第9列的值,如果索引超过实际列数会报错,
array1 = np.array(label.stack()) 该语法表示把从Excel读取的内容传到一个数组
list1 = array1.tolist() 该语法表示把数组传到一个列表
以上两句语法有什么用呢?是在画柱状统计图的时候获取一个维度的数据,肯定有更优的代码写法,笔者是初学Python数据分析,故此用这个方法。
matplotlib.plot这个函数是专门绘制图形的
plt.figure(figsize=(16, 12)) 规定输出图像的尺寸,单位是英寸
plt.barh(list1, list2) plt.bar是输出柱状图,plt.barh是输出横向柱状图,有两个参数是x,y,一般只用这两个
plt.title('This is title of figure') 这个函数是输出图的标题
plt.xlabel('this is x label')这个函数是输出x轴标题
plt.ylabel('this is y label')这个函数是输出y轴标题
for x,y in zip(x,y): 控制标签位置,用了个for循环去调用标签的值
plt.text(x,y,'%.0F%y,ha = 'center',va = 'bottom',fontsize=18),然后把值显示在柱状图上
plt.show() 这个函数是显示图像
这是读取的EXCEL表的内容,代码读取了第一列和第八列,索引值分别是0和7
代码实例
参考代码
# -*- coding: gbk -*-
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
mpl.rcParams['font.sans-serif'] = ['KaiTi', 'SimHei', 'FangSong'] # 汉字字体,优先使用楷体,如果找不到楷体,则使用黑体
mpl.rcParams['font.size'] = 12 # 字体大小
mpl.rcParams['axes.unicode_minus'] = False # 正常显示负号
label = pd.read_excel(r'C:\Users\Administrator\Desktop\产业链数据统计\企业信息\蚂蚁查产业链统计.xlsx', sheet_name='产业链数据聚合分析', usecols=[0])
array1 = np.array(label.stack())
list1 = array1.tolist()
company_county_value = pd.read_excel(r'C:\Users\Administrator\Desktop\产业链数据统计\企业信息\蚂蚁查产业链统计.xlsx',
sheet_name='产业链数据聚合分析', usecols=[7])
array2 = np.array(company_county_value.stack())
list2 = array2.tolist()
plt.figure(figsize=(16, 12))
plt.bar(list1, list2,width=0.5)
plt.title('产业链企业数量')
for list1, list2 in zip(list1, list2):
plt.text(list1, list2, "%.0F"% list2, ha='center', va='bottom', fontsize=12)
plt.show()