python数据分析面试题

数据分析

编程题
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.数据分析的一般流程是什么
    基本流程
    提出问题
    准备数据
    分析数据
    洞察结论

    详细流程
    需求层
        目标确定
    数据层
        数据获取
        数据规整(清洗)
    分析层
        描述性分析
            指标计算
            数据可视化
        探索性分析
            建模分析
            模型验证
            迭代优化
    输出层
        数据分析报告
        总结结论
        提出建议并实施
  • 26
    点赞
  • 295
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值