import pandas as pd
data = {'c1':[1,4],'c2':[2,5],'c3':[3,6]}
df = pd.DataFrame(data,index=['s1','s2'])
print(df)
'''
汇总运算:就是将数据进行汇总返回一个汇总以后的结果值
'''
# 1。count非空值计算
# count函数:返回结果为该数据表中每列的非空值的个数
print(df.count())
# axis = 1表示来求取每一行非空值的个数
print(df.count(axis=1))
# 也可以对每一列求个数
print(df['c1'].count())
# 2.sum求和函数
# sum函数:返回的是每一列的求和结果
print(df.sum())
# axis = 1表示每一行求和结果
print(df.sum(axis=1))
# 也可以对每一列求和
print(df['c1'].sum())
# 3.mean求均值
# mean函数:返回每一列的均值
print(df.mean())
# axis = 1表示每一行求均值
print(df.mean(axis=1))
# 也可以对每一列求均值
print(df['c1'].mean())
# 4。max求最大值
# max函数:可对每一行或每一列求最大值
print(df.max())
# axis = 1表示求每一行最大值
print(df.max(axis=1))
# 也可以对每一列求最大值
print(df['c1'].max())
# 5。min求最小值
# max函数:可对每一行或每一列求最小值
print(df.min())
# axis = 1表示求每一行最大值
print(df.min(axis=1))
# 也可以对每一列求最大值
print(df['c1'].min())
print('...........换数据............')
data1 = {'c1':[1,4,7],'c2':[2,5,8],'c3':[3,6,9]}
df1 = pd.DataFrame(data1,index=['s1','s2','s3'])
print(df1)
# 6。median求中位数
#median函数:可对每一行或每一列求中位数
print(df1.median())
# axis = 1表示求每一行的中位数
print(df1.median(axis=1))
# 也可以对每一列求最大值
print(df1['c1'].median())
print('...........换数据............')
data2 = {'c1':[1,4,1],'c2':[1,4,1],'c3':[3,6,3]}
df2 = pd.DataFrame(data2,index=['s1','s2','s3'])
print(df2)
# 7.mode求众数;众数:每一组数据中出现次数最多的数
# mode函数:可对每一行或每一列求众数
print(df2.mode())
# axis = 1表示求每一行的众数
print(df2.mode(axis=1))
# 也可以对每一列求众数
print(df2['c1'].mode())
#8。var求方差:方差是用来衡量一组数据的离散程度
#var函数:可对每一行或每一列求方差
print(df1.var())
# axis = 1表示求每一行的方差
print(df1.var(axis=1))
# 也可以对每一列求方差
print(df1['c1'].var())
# 9。std求标准差:标准差是方差的平方根,二者都是用来表示数据的离散程度的
#std函数:可对每一行或每一列求标准差
print(df1.std())
# axis = 1表示求每一行的标准差
print(df1.std(axis=1))
# 也可以对每一列求标准差
print(df1['c1'].std())
print('...........换数据............')
data3 = {'c1':[1,4,7,10,13],'c2':[2,5,8,11,14],'c3':[3,6,9,12,15]}
df3 = pd.DataFrame(data3,index=['s1','s2','s3','s4','s5'])
print(df3)
# 10。quantile求分位数:分位数是比中位数更加详细的基于位置的指标,分位数主要有四分之一分位数,四分之二分位数,四分之三分位数,而四分之二分位数就是中位数
#std函数:可对每一行或每一列求分位数
# 求列的四分之一分位数
print(df3.quantile(0.25))
# 求列的四分之三分位数
print(df3.quantile(0.75))
# axis = 1表示求每一行的分位数
print(df3.quantile(0.25,axis=1))
# 也可以对每一列求分位数
print(df3['c1'].quantile(0.25))