数据分析
编程题
1.一家超市的顾客数据,
将数据可视化并分析销售额和年龄、收入的关系
并给出营销建议
年龄 收入 销售额
34 350 123
40 450 114
37 169 135
30 189 139
44 183 117
36 80 121
32 166 133
26 120 140
32 75 133
36 40 133
答案:
import matplotlib.pyplot as plt
# 年龄
age = [34,40,37,30,44,36,32,26,32,36]
# 收入
income = [350,450,169,189,183,80,166,120,75,40]
# 销售额
sales = [123,114,135,139,117,121,133,140,133,133]
# 年龄,销售额 散点图
plt.scatter(age, sales)
plt.show()
# 收入,销售额 散点图
plt.scatter(income, sales)
plt.show()
可视化结论:
顾客年龄和销售额负相关,年龄越大销售额越低
顾客收入和销售额也呈负相关,收入越高销售额越低
建议:
营销针对人群应是一般收入100-200之间,年龄20-37之间的人群,这样营销效果更好
2.使用原生Python代码和Numpy并行计算分别求解下面的y值
条件:
x1 = [1,2,3,4,5]
x2 = [3,5,2,9,10]
y = x12 + x23
求y值**
原生Python实现
x1 = [1,2,3,4,5]
x2 = [3,5,2,9,10]
y = []
for i in range(len(x1)):
y.append(x1[i] ** 22222 + x2[i] ** 33333)
print(y)
Numpy实现
import numpy as np
x1 = np.array([1,2,3,4,5])
x2 = np.array([3,5,2,9,10])
y = x1 ** 22222 + x2 ** 33333
print(y)
3.返回下表中所有同学语文成绩最低的1次考试成绩
chinese english math name test
75 69 36 张三 一
68 85 87 李四 一
54 42 59 王五 一
55 57 63 李四 二
59 35 92 王五 二
45 63 92 王五 三
61 53 76 赵六 一**
import pandas as pd
df = pd.read_table('5.class.csv', encoding='gbk’)
def top(x, n=1, column='chinese'):
return x.sort_values(by=column)[:1]
df.groupby('name').apply(top)
4:创建三角级数类
阅读下列代码回答问题
import numpy as np
import matplotlib.pyplot as plt
class trigonometric_function:
tra_1=6
tra_2=12
def _init_(self,a,k,l):
self.const1=a
self.const2=k
self.const3=l
def Additive_term(self,x):
self.summand_s=np.sin(self.const2*x+self.tra_1)
self.summand_c=np.cos(self.const3*x+self.tra_2)
def trigon_sum(self,m,n):
sum_1=sum([sum([self.const1*(self.summand_s**i)*(self.summand_c**j) for i in range(m) ]) for j in range(n)])
return sum_1
def draw_pic(self,data):
fig,axes_1=plt.subplots(1,1,dpi=140,figsize=(8,6))
#x=np.linspace(-5,5,500)
axes_1.plot(x,data)
plt.show()
a.请在代码中找出类变量、实例变量、方法、对象
#类变量:tra1,tra2,const1,const2,const3,summand_s,summand_c
#实例变量:x,a,k,l,m,n,data(通常前面没有self.。)
#方法(属性): Additive_term、trigonsum、drawpic
#对象:方法、类变量和实例变量
b.请写出程序中所涉及到的三角级数
c.self 什么意思?
self 代表类的实例,self 在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。
d.请阐述下列代码运行后会有什么结果
f1=trigonometric_function()
#类的实例化
f1._init_(3,4,6)
#对类进行初始化
x=np.linspace(-5,5,500)
#生成500个-5到5之间的点
f1.Additive_term(x)
#生成普通三角函数sin和cos
data=f1.trigon_sum(4,5)
#生成三角级数数据
f1.draw_pic(data)
#绘图
简答题
1.Python数据分析通常使用的环境、工具和库都有哪些?库功能是什么?
基础环境一般为Anaconda,
编辑器多用Ipython或JupyterNotebook,
常用库有:
Numpy:数值计算
Matplotlib:数据可视化
Pandas:数据预处理和数据分析
scikit-learn:机器学习算法建模预测
2.数据分析的一般流程是什么
基本流程
提出问题
准备数据
分析数据
洞察结论
详细流程
需求层
目标确定
数据层
数据获取
数据规整(清洗)
分析层
描述性分析
指标计算
数据可视化
探索性分析
建模分析
模型验证
迭代优化
输出层
数据分析报告
总结结论
提出建议并实施