在前面的章节中,咱们谈论了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