在前面的章节中,咱们谈论了Series的核算办法与Pandas的主动对齐功用。不光是Series,DataFrame也是支撑运算的,并且仍是经常被运用的功用之一。

由于DataFrame的数据结构中包数据结构知识点总结含了多行、多列,所以DataFrame的核算与核算可所以用行数据或许用列数据。为了更方便咱们的运用,Pandas为咱们供给了常用的核算与核算办法:

操作 办法 操作 数据结构期末考试题及答案
求和 sum 最大值 max
求均值数据结构c语言版 mean 最小值 min
求方差 var 标准差 std
中位数 median 众数 mode
分位数 quantil数据结构与算法e

一.运算

接上文的比方,咱们已数据结构难学吗经有了N个学生的数学、语文、英语的作用表,现在,咱们要算出每个学生的总作用,那么咱们就能够用以下的办法:数据结构难学吗

'''
行的求和以下演示两种办法:
办法1:先把待求和的列数据删选出来(剔除掉name列),然后运用sum函数求和
办法2:把待求和的列一个一个选出来然后运用运算符求和
两种办法终究的成果为数据结构难学吗像原有的DataFrame中新增一列,数据为每行数据的求和
'''
df['su数据结构严蔚敏m'] = df[['chinese', 'math', 'english']].sum数据结构与算法(1)	#数据结构与算法办法1
df[数据结构与算法'sum'] = df['chinese'] + df['math'] + df['english']	#办法2
Output:
name  chinese  english  math  sum
0   XiaoMing       99      100    8数据结构教程第5版李春葆答案0  279
1      LiHua      102       79    92  273
2  HanMei数据结构严蔚敏Nei      111      130   104  345数据结构教程第5版李春葆答案

在sum办法中咱们传入了参数1,代表的是咱们运用的轴(axi数据结构与算法s)为行(对行数据进行求和),假设想要核算出每列的求和我数据结构知识点总结们只用传入0即可(数据结构sum函数默许参数为0,所以也可不传):

df[['chinese', 'math', 'english']].sum(0)
Output:
chinese    312
math       2数据结构题库及答案76
english    309
dtype: int64

现在有了总作用,那么数学教师或许语文数据结构知识点总结教师就会关心本班学生的数据均匀分是多少,相同的,咱们能够十分快速的核算出来:

df['math'].me数据结构题库及答案an()		#办法一:直接运用Pandas供给的mean求均值办法
df['math'].sum() / df.shape[0]	#数据结构难学吗办法二:运用数据结构c语言版严蔚敏求和办法算出总和后除以总人数(行数)
Output:
92.0

本中运用了DataFrame的shape办法数据结构题库及答案,这个办法是用来显现DataFrame的行数和列数的,行数为0,列数1。需求留心的是输出的列数值是不含索引列的。

上述只核算了数学的均匀分,感兴趣的小伙伴能够自行数据结构教程第5版李春葆答案根底出英语和语文的均匀数据结构题库及答案分哦~

二.核算

这个时分数学教师又有新的需求了,他想查看本班学生数学作用的最高分、最低分、中位数等核算数据,那么底子不慌,Pandas通通能够帮咱们搞定:

df['math'].min()  # math列的最小值
Output:80
df['math'].max()  # math列的最大值
Outp数据结构与算法ut:104
df['math'].quantile([0.3, 0.4, 0.5])  # math列的30%、40%、50%分位数
Output:
0.3数据结构    87.2
0.4    89.6
0.5    92.0
Name: math, dtype: float64
df['math'].std() # math列的标准差
Output:12
df['math'].var() # math列的数据结构c语言版严蔚敏方差
Output:144
df数据结构题库及答案['math'].mean() # math列的均匀数
Output:92
df['math'].median() # math列的中位数
Output:92
df['math'].mode() # math列的众数,回来一个Series方针数据结构c语言版(有可数据结构期末考试题及答案能呈现并列的状况,比方中众数为1,所以都回来)
Output:
0     80
1     92
2    104
dtype: int64

咱们也能够运用DataFrame的describe办法对DataFrame查看基本的核算情数据结构c语言版况:

df.describe()
Outprint:
chinese     english   math         sum
count    3.000000    3.000000    3.0    3.000000
mean   104.000000  103.000000   92.0  299.000000
std      6.244998   25.632011   12.0   39.94数据结构期末考试题及答案9969
min     99数据结构严蔚敏.000000   79.000000   80.0  273.000000
25%    100.500000   89.500000   86.0  276.000000
50%    102.000000  100.000000   92.0  279.000000
75%    106.500000  115.000000   98.0  312.000000
max    1数据结构难学吗11.000000  130.000000  104.0  345.000000

三.排序

一般来讲咱们的作用表都是依照总分从高到低进行排序:

df = df.sort_values(by='sum', ascending=False)
Output:
name  chinese  english  math  sum
2  HanMeiNei      111数据结构在计算机内存中的表明是指      130   104  345
0   XiaoMing       99      100    80  279
1      LiHua      102       79    92  273

能够看到咱们运用了sort_values办法对DataFrame进行排序,数据结构c语言版严蔚敏一同by参数传入‘sum’指定依照‘sum’字段进行排序,ascending用来设置是降序(False)仍是升序(True,默许值)排序。运数据结构在计算机内存中的表明是指s数据结构与算法ort_values排序后默许会回数据结构来一个新的DataFrame目数据结构教程第5版李春葆答案标,也就是说并不会影响原有的DataFrame方针,所以比方中咱们数据结构难学吗才会把排序后的目数据结构c语言版严蔚敏标赋值给原有的DataFrame方针,假设数据结构题库及答案不想排序后创立新的方针也是能够的,数据结构c语言版只需求传入inplace=True即可(在数据结构原有数据结构题库及答案的DataF数据结构严蔚敏rame根底上修正):

df.sort_values(by='sum', ascending=False, inplace=True)
print(df)
Output:
name  chines数据结构教程第5版李春葆答案e  english  math  sum
2  HanMeiNei      111      130   104  345
0   XiaoMing       99      100    80  279
1      LiHua      102       79    92  273

细心的小伙伴可能会发现当咱们进行排序后,假设DataFrame中的行数据有调整的话,其行的索引值是数据结构教程第5版李春葆答案不会更改的,上述比方中由于咱们用了默许的递加数列索引,所以排序后看起来并不是很友数据结构题库及答案爱,不过不用担忧,咱们仍是能够重置索引值的:

df = df.sort_values(by='数据结构在计算机内存中的表明是指sum', ascending=False).reset_index()
Output:
index       name  chinese  english  math数据结构教程第5版李春葆答案  sum
0      2  HanMeiNei      111      130   104  345
1      0   XiaoMing       99      100    80  279
2      1      L数据结构c语言版iHua      102       79    92  273

运用reset_index重设索引后咱们的DataFrame方针的索引列的确被重置成了递加的序列,一同数据结构知识点总结也多了列名为index的一列数据。当然咱们能够传入drop=True将原有的索引列不刺进到新的数据结构严蔚敏DataFrame中:

df = df.sort_values(by数据结构难学吗='sum', asc数据结构题库及答案ending=False).reset_数据结构期末考试题及答案index(drop=True)
name  chinese  english  math  sum
0  HanMeiNei      111      130   104  345
1   XiaoMing       99      100    80  279
2      LiHua      102       79    92  273

为了更直观的展现排名数据结构期末考试题及答案状况,咱们可数据结构教程第5版李春葆答案以索引值+1这样就展现出了学生的排名状况:

df.index += 1
na数据结构难学吗me  chinese数据结构难学吗  english  math  sum
1  HanMeiNei      11数据结构期末考试题及答案1      130   104  345
2   XiaoMing       99      100    80  279
3      LiHua      102       79    92  273