2024年python数据分析基础——批量进行数据分析!(1),网易云java面试

本文介绍了如何使用Python进行数据处理,包括读取Excel数据、描述统计、直方图制作以及回归分析预测。作者提供了实例代码,并强调了系统化学习的重要性,鼓励读者加入技术交流社群以提升技术能力。

最后

不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~

给大家准备的学习资料包括但不限于:

Python 环境、pycharm编辑器/永久激活/翻译插件

python 零基础视频教程

Python 界面开发实战教程

Python 爬虫实战教程

Python 数据分析实战教程

python 游戏开发实战教程

Python 电子书100本

Python 学习路线规划

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

workbook.save(‘箱形图.xlsx’)

workbook.close()

app.quit()

运行结果:(图中用圆圈标识的数据点是异常值)

九、使用描述统计和直方图制定目标


1、使用描述统计和直方图制定目标

数据展示:

实例代码:

import pandas as pd

import matplotlib.pyplot as plt

import xlwings as xw

df = pd.read_excel(‘描述统计.xlsx’) # 读取指定工作簿中的数据

df.columns = [‘序号’,‘员工姓名’,‘月销售额’] # 重命名数据列

df = df.drop(columns=[‘序号’,‘员工姓名’]) # 删除“序号”列和“员工姓名”列

df_describe = df.astype(float).describe() # 计算数据的个数、平均数、最大值和最小值等描述统计数据

df_cut = pd.cut(df[‘月销售额’], bins = 7, precision = 2) # 将“月销售额”列的数据分成7个均等区间

cut_count = df[‘月销售额’].groupby(df_cut).count() # 统计各个区间的人数

df_all = pd.DataFrame() # 创建一个空DataFrame用于汇总数据

df_all[‘计数’] = cut_count # 将月销售额的区间及区间的人数写入前面创建的DataFrame中

df_all_new = df_all.reset_index() # 将索引重置为数字序号

df_all_new[‘月销售额’] = df_all_new[‘月销售额’].apply(lambda x:str(x)) # 将“月销售额”列的数据转换为字符串数据

fig = plt.figure() # 创建一个绘图窗口

plt.rcParams[‘font.sans-serif’] = [‘SimHei’] # 解决中文乱码问题

n, bins, patches = plt.hist(df[‘月销售额’], bins = 7, edgecolor = ‘black’, linewidth = 0.5) # 使用“月销售额”列的数据绘制直方图

plt.xticks(bins) # 将直方图x轴的可读标签设置为各区间的端点值

plt.title(‘月销售额频率分析’) # 设置直方图的图表标题

plt.xlabel(‘月销售额’) # 设置直方图的X轴标题

plt.ylabel(‘频数’) # 设置直方图的Y轴标题

plt.show()

app = xw.App(visible = False) # 启动Excel程序

workbook = app.books.open(‘描述统计.xlsx’) # 打开要写入分析结果的工作簿

worksheet = workbook.sheets[‘业务员销售额统计表’] # 选中工作簿中的工作表

worksheet.range(‘E2’).value = df_describe # 将计算出的个数、平均数、最大值和最小值等数据写入工作表

worksheet.range(‘H2’).value = df_all_new # 将月销售额的区间及区间的人数写入工作表

worksheet.pictures.add(fig, name = ‘图片1’, update = True, left = 400, top = 200) # 将绘制的直方图转换为图片并写入工作表

worksheet.autofit() # 根据数据内容自动调整工作表的行高和列宽

workbook.save(‘描述统计1.xlsx’) # 另存工作簿

workbook.close() # 关闭工作簿

app.quit() # 退出程序

结果展示:

2、使用自定义区间绘制直方图

实例代码:

import pandas as pd

import matplotlib.pyplot as plt

import xlwings as xw

df = pd.read_excel(‘描述统计.xlsx’)

df.columns = [‘序号’,‘员工姓名’,‘月销售额’]

df = df.drop(columns=[‘序号’,‘员工姓名’])

df_describe = df.astype(float).describe()

df_cut = pd.cut(df[‘月销售额’], bins = range(8, 37, 4)) # 在指定的端点值划分区间

cut_count = df[‘月销售额’].groupby(df_cut).count()

df_all = pd.DataFrame()

df_all[‘计数’] = cut_count

df_all_new = df_all.reset_index()

df_all_new[‘月销售额’] = df_all_new[‘月销售额’].apply(lambda x:str(x))

fig = plt.figure()

plt.rcParams[‘font.sans-serif’] = [‘SimHei’]

n, bins, patches = plt.hist(df[‘月销售额’], bins = range(8, 37, 4), edgecolor = ‘black’, linewidth = 0.5) # 按指定的端点值划分区间

plt.xticks(bins)

plt.title(‘月销售额频率分析’)

plt.xlabel(‘月销售额’)

plt.ylabel(‘频数’)

plt.show()

app = xw.App(visible = False)

workbook = app.books.open(‘描述统计.xlsx’)

worksheet = workbook.sheets[‘业务员销售额统计表’]

worksheet.range(‘E2’).value = df_describe

worksheet.range(‘H2’).value = df_all_new

worksheet.pictures.add(fig, name = ‘图片1’, update = True, left = 400, top = 200)

worksheet.autofit()

workbook.save(‘描述统计2.xlsx’)

workbook.close()

app.quit()

运行结果:

十、使用回归分析预测未来值


1、使用回归分析预测未来值

数据展示:

实例代码:

import pandas as pd

from sklearn import linear_model

df = pd.read_excel(‘回归分析.xlsx’, header = None)

df = df[2:] # 删除前两行数据

重新命名数据列

df.columns = [‘月份’, ‘电视台广告费’, ‘视频门户广告费’, ‘汽车当月销售额’]

x = df[[‘视频门户广告费’, ‘电视台广告费’]] # 获取’视频门户广告费’列和 '电视台广告费’列的数据作为自变量

y = df[‘汽车当月销售额’] # 获取’汽车当月销售额’列的数据为因变量

model = linear_model.LinearRegression() # 创建一个小型回归模型

model.fit(x, y) # 用自变量和因变量数据对线性回归模型进行训练,拟合出线性回归方程

R2 = model.score(x, y) # 计算R2的值

print(R2) # 输出R2的值

运行结果:

2、使用回归方程计算预测值

实例代码:

import pandas as pd

from sklearn import linear_model

df = pd.read_excel(‘回归分析.xlsx’, header = None)

df = df[2:]

df.columns = [‘月份’, ‘电视台广告费’, ‘视频门户广告费’, ‘汽车当月销售额’]

x = df[[‘视频门户广告费’, ‘电视台广告费’]]

y = df[‘汽车当月销售额’]

model = linear_model.LinearRegression()

model.fit(x,y)

coef = model.coef_ # 获取自变量的系数

model_intercept = model.intercept_ # 获取截距

result = ‘y={}*x1+{}*x2{}’.format(coef[0], coef[1], model_intercept) # 获取线性回归方程

print(‘线性回归方程为:’, ‘\n’, result) # 输出线性回归方程

a = 30 # 设置视频门户广告费

b = 20 # 设置电视台广告费

y = coef[0] * a + coef[1] * b + model_intercept # 根据线性回归方程计算汽车销售额

print(y) # 输出计算出的汽车销售额

在这里插入图片描述

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值