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

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

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

实现这样一个小小的例子

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

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

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

import randomnames=['张三','李四','王五','黑六','吴七']courses=['语文','数学','英语']scores = [[random.randrange(50,101) for _ in range(3)] for _ in range(5)]
print(scores)for i,name in enumerate(names):sum = 0for 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 pddf = 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的强大了吗,那今天就先这样了,后续还有更新更多数据分析知识,有兴趣相互交流啊


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部