numpy
result = [
[0, 10, 20, 30, 40],
[10, 23, 33, 43, 53],
[20, 83, 23, 55, 33],
[30, 93, 44, 22, 55],
[40, 72, 33, 44, 66]
]
data = np.array(result)#把一个列表变成矩阵
print(data[:2, 1])#取矩阵的前两行的前2个数,结果是[10,23]
matplotlib在柱形图上方添加数值
for a,b in zip(x,y):
plt.text(a, b+0.05, '%.0f' % b, ha='center', va= 'bottom',fontsize=7)
解释:
首先,前边设置的x、y值其实就代表了不同柱子在图形中的位置(坐标),通过for循环找到每一个x、y值的相应坐标——a、b,再使用plt.text在对应位置添文字说明来生成相应的数字标签,而for循环也保证了每一个柱子都有标签。
其中,a, b+0.05表示在每一柱子对应x值、y值上方0.05处标注文字说明, '%.0f' % b,代表标注的文字,即每个柱子对应的y值, ha='center', va= 'bottom'代表horizontalalignment(水平对齐)、verticalalignment(垂直对齐)的方式,fontsize则是文字大小。
条形图、折线图也是如此设置,饼图则在pie命令中有数据标签的对应参数。对于累积柱状图、双轴柱状图则需要用两个for循环,同时通过a与b的不同加减来设置数据标签位置
plt.bar(left=title_list, height=score_list, bottom=0, width=0.5, color='b', edgecolor='b')
解释:
left:x轴每个圆柱体的说明
height:每个圆柱体的高度
bottom:圆柱体底部从y轴0开始
width:圆柱体的宽度为0.5
color:圆柱体的颜色为蓝色
edgecolor:圆柱体之间的边界的颜色
plt.xticks(x, xticks1, size='small', rotation=30) #x=range(), xticks:x轴每个圆柱体的说明, rotation=30:倾斜30度
plt.xlabel('电影名称')#x轴说明
plt.ylabel('评分')#y轴说明
plt.title('top10电影排名')#图片说明
plt.yticks(np.linspace(0, 10, 10))把y轴从0到10切10份
plt.ylim(1, 10)设置y轴起点和终点
frame多维数组取值
例:
print(result.iloc[:3,1:])#必须要加.iloc后面[行,列]里面跟切片的用法差不多
a.groupby('Open').sum()#把Open这列当做key,求他的values里每行的和
a.groupby('Open').size()#对各个Open下的数目进行计数
例:
info = {
'name':xxx,
'age': 29,
'job':'IT'
}
result = pd.DataFrame(info)
result.to_excel('C:\Users\fengziDesktop est.xlsx', sheet_name='sheet2')