python数据分析三大神器基本操作1

python数据分析三大神器基本操作1

今天我带大家感受一下数据分析三大神器到底强大再哪里,这里我将用原生python代码和三大神器(numpy,pandas,matplotlib)来实现相同的功能做出比较,看看它到底独特在哪里。

实现这样一个小小的例子

用随机的方式生成5个学生3门课程的成绩 —> 嵌套列表

  1. 计算每个学生考试的平均成绩
  2. 计算每门课的最高分、最低分、标准差

首先,我们看一下用原生python代码写的代码

import random


names=['张三','李四','王五','黑六','吴七']

courses=['语文','数学','英语']

scores = [[random.randrange(50,101) for _ in range(3)] for _ in range(5)]
print(scores)

for i,name in enumerate(names):
    sum = 0
    for j,course in enumerate(courses):
        sum += scores[i][j]
    print(f'{name}的平均分{round(sum/len(courses),2)}')
        
        
for i,course in enumerate(courses):
    temp=[]
    for j,name in enumerate(names):
        temp.append(scores[j][i])
    print(f'{course}最高分{max(temp)}')
    print(f'{course}最低分{min(temp)}')
        

大致效果是这样
在这里插入图片描述

真的很不爽,代码又臭又长

接下来,用了numpy来实现了同样的效果
在这里插入图片描述

这样心情是要好多了,但是,不知道你注意到没有,这样我们根本不知道算的分别是啥

好了,做这种事情还得pandas出马

import pandas as pd

df = pd.DataFrame(data=scores,columns=courses,index=names)   # columns是可迭代对象
df

在这里插入图片描述

接下来算平均值

df['平均分'] = np.round(df.mean(axis=1),2)   
df

在这里插入图片描述

很直观对吧,这里最大值最小值等我就先不写了哈

不仅如此,还可以更直观

# 处理中文字体
import matplotlib.pyplot as plt
# 先执行下面代码
plt.rcParams['font.sans-serif']=['STFangsong']
plt.rcParams['axes.unicode_minus']=False
%config InlineBackend.figure_format = 'svg'  # 出矢量图
df.plot(kind='bar')  # bar代表柱状图                                      
plt.xticks(rotation=0)
plt.show()

看效果

在这里插入图片描述
想了解更多知识,欢迎移步到微信公众号
扫码或搜索数据分析者

在这里插入图片描述

好了,初步感受到pandas的强大了吗,那今天就先这样了,后续还有更新更多数据分析知识,有兴趣相互交流啊

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python和数据分析

钟意作者

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值