数据分析
监控数据,发现异常,找出原因,提出建议,写分析报告
工具
Excel / SQL
BI工具---->PowerBI / Tableau / fineBI / 神策
Python+SQL
Python:
? Numpy—>Numberical Python
? Pandas—>Panel Data Set
? Matplotlib
Jupyter Notebook - 数据科学
Jupyter Lab
数据思维和统计思维
数据分析方法论
Jupyter
显示行号:蓝色(命令模式),l/L
Ctrl+Enter 光标在当前
Alt+Enter
Shift+Enter光标往下跳
命令模式快捷键:
? l/L:添加或去掉行号
? Ctrl+Enter:运行代码,留在当前单元格
? Shift+Enter:运行代码,移到下一个单元格
? Alt+Enter:运行代码,在下方新增一个单元格
? A:在上方添加单元格
? B:在下方加单元格
? DD:删除当前单元格
? h:查看快捷键的帮助
?
NP和PD
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import random
names=('一一','二二','三三','四四','五五')
scores=[[random.randrange(60,101) for j in range(3) ]for i in range(5)]
for i,name in enumerate(names):
print(f'{name}:{sum(scores[i])/3:.2f}')
for i,course in enumerate(courses):
tmp = [scores[j][i]for j in range(5)]
print(f'{course}高:{max(tmp)},低:{min(tmp)}')
scores=np.array(scores)
type(scores)
求平均值mean,round:小数位数
np.round(scores.mean(axis=1),1)
求每科最大值
scores.max(axis=0)
np.max(scores,axis=0)
scores.min(axis=0)
np.min(scores,axis=0)
Pandas—>PanelDataSet—>DataFrame
df = pd.DataFrame(data=scores,columns=courses,index=names)
df
df['平均分']=np.round(df.mean(axis=1),2)
df
max_scores = df.max()
min_scores = df.min()
df.loc['最高分']=max_scores
df.loc['最低分']=min_scores
df
导出xlsx
!pip install -U openpyxl xlrd xlwt
df.to_excel('学生成绩表.xlsx')
忽略所有警告的方法
import warning
warnings.filterwarnings('ignore')
查看当前工作路径
%pwd
查看路径下有啥玩意
%ls
给图设置参数
plt.rcParams['font.sans-serif']=['STFangsong','STZhongsong']
plt.rcParams['axes.unicode_minus']=False
dpi---->dot per inch svg---->矢量图
设置图片设置
%config InlineBackend.figure_format='svg'
显示和保存图片
df.plot(figsize=(5,3),kind='bar',y=['语','数','外'])
plt.xticks(rotation=0)
plt.legend(loc='lower right')
plt.savefig('dome.svg')
plt.show()
df.plot?
plt.figure(figsize=(8,3),dpi=125)
x = np.linspace(-2*np.pi,2*np.pi,100)
y = np.sin(x)
plt.plot(x,y)
|