雄安做网站,昆明网站推广排名,网站不公开简历做家教,wordpress搭建两个主题数值计算与统计 对于DataFrame来说#xff0c;求和、最大、最小、平均等统计方法#xff0c;默认是按列进行统计#xff0c;即axis 0#xff0c;如果添加参数axis 1则会按照行进行统计。 如果存在空值#xff0c;在统计时默认会忽略空值#xff0c;如果添加参数skipna … 数值计算与统计 对于DataFrame来说求和、最大、最小、平均等统计方法默认是按列进行统计即axis 0如果添加参数axis 1则会按照行进行统计。 如果存在空值在统计时默认会忽略空值如果添加参数skipna False统计时不会忽略空值。 count() 非NaN的元素个数sum() 和mean() 平均值median() 中位数max() 最大值min() 最小值mode()众数std() 标准差var() 方差describe()包括count()、mean()、std()、min()、25%、50%、75%、max()skew()样本的偏度kurt()样本的峰度 分位数 quantile(q0.5,axis0)统计分位数q确定位置默认为0.5axix0默认按行统计1按列统计 【适用于Seris和DataFrame】 计算逻辑r i ( j - i ) * f ①将行或者列按数值大小升序排序并计算位置pos 1(n-1)*q其中n为行或列的长度q为定义的参数 ②根据pos确定 i 和 j例如计算得pos3.2则i为第3个数j为第4个数f为pos的小数部分 dic {one:[1,3,2,5,4],two:[2,4,3,6,5],three:[3,7,5,6,4]}
df pd.DataFrame(dic,indexlist(abcde))
print(df)
print(df.quantile(0.1))
print(df.quantile([0.5,0.7]))
# one two three
# a 1 2 3
# b 3 4 7
# c 2 3 5
# d 5 6 6
# e 4 5 4
# one 1.4
# two 2.4
# three 3.4
# Name: 0.1, dtype: float64
# one two three
# 0.5 3.0 4.0 5.0
# 0.7 3.8 4.8 5.8 分位数 以上以quantile(q0.7)为例讲解按照列进行统计每列的长度为5 pos 1 ( 5 - 1 ) * 0.7 3.8因此i为每列的第3位数j为每列的第4位数且f为3.8的小数部分即0.8 result_one 3 ( 4 - 3 ) * 0.8 3.8 result_two 4 ( 5 - 4 ) * 0.8 4.8 reslut_three 5 ( 6 - 5 ) * 0.8 5.8 上四分位和下四分位确定位置pos (n-1)/4和pos3* (n-1)/4结果计算同为r i ( j - i ) * f 四分位参考https://blog.csdn.net/kevinelstri/article/details/52937236 累计值 cumsum() 累计和、cumprod() 累计积、cummax()累计最大值、cummin()累计最小值【适用于Seris和DataFrame】 dic {one:[1,3,2,5,4],two:[2,4,3,6,5]}
df pd.DataFrame(dic,indexlist(abcde))
df[one_cumsum] df[one].cumsum() #相当于增加一列
df[one_cumprod] df[one].cumprod()
df[two_cummax] df[two].cummax()
df[two_cummin] df[two].cummin()
print(df)
# one two one_cumsum one_cumprod two_cummax two_cummin
# a 1 2 1 1 2 2
# b 3 4 4 3 4 2
# c 2 3 6 6 4 2
# d 5 6 11 30 6 2
# e 4 5 15 120 6 2 累计和、累计积、累计最大值、累计最小值 唯一值 对序列进行唯一值unique()之后生成的是一维数组 【适用于Seris】 s pd.Series(list(abaefb))
print(s)
sq s.unique()
print(sq,type(sq))
sq_s pd.Series(sq)
# 0 a
# 1 b
# 2 a
# 3 e
# 4 f
# 5 b
# dtype: object
# [a b e f] class numpy.ndarray Seris的unique() 值计数 value_counts()统计Seris中相同的值出现的次数生成一个新的Seris新Seris的index为原来的值值为出现的次数 【适用于Seris】 参数normalizeFalse, sortTrue, ascendingFalse,binsNone, dropnaTrue即默认会将结果倒序排序 s pd.Series(list(abaefb))
s_count s.value_counts()
print(s)
print(s_count,type(s_count))
# 0 a
# 1 b
# 2 a
# 3 e
# 4 f
# 5 b
# dtype: object
# a 2
# b 2
# f 1
# e 1
# dtype: int64 class pandas.core.series.Series Seris的值计数 成员判断 isin([ ])成员要使用中括号括起来判断每个元素是否在中括号的元素中生成的结果为布尔型的Seris或DataFrame 【适用于Seris和DataFrame】 # s pd.Series(list(abced))
# df pd.DataFrame(np.arange(6).reshape(2,3),columns[a,b,c])
# print(s.isin([a,b]))
# print(df.isin([1,2]))
# 0 True
# 1 True
# 2 False
# 3 False
# 4 False
# dtype: bool
# a b c
# 0 False True True
# 1 False False False 成员判断 转载于:https://www.cnblogs.com/Forever77/p/11259146.html