python求中位数函数 python计算中位数
python如何定义一个函数求列表各项数据平均值?
# coding = GBK
创新互联建站是一家集网站建设,君山企业网站建设,君山品牌网站建设,网站定制,君山网站建设报价,网络营销,网络优化,君山网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
a =[1,2,3,4,5]
sum=0
b = len(a)
print("这个数组的长度为:",b)
for i in a:
sum =sum +i
print("这个数组之和为:",sum)
print("这个数组平均数为",sum/b)
或
import sys
sum = 0
cnt = 0
f = open('1.txt', 'r')
files = f.readline()
while (files ):
sum = sum + float(files .split(",")[0])
cnt = cnt + 1
files = f.readline()
print(sum / cnt)
f.close()
或者。
#!/usr/bin/env pythonimport timeimport numpy as np
dd = np.random.randint(0, 20, size=(2*1000*1000))t_start = time.clock()avg_sum1 =
0.0BlockOffset = 0 while BlockOffset len(dd):
if dd[BlockOffset + 1] = 10:
avg_sum1 += dd[BlockOffset + 1] * 0.1
else:
avg_sum1 += dd[BlockOffset + 0] * 0.01
BlockOffset += 2print('Avg: ' + str(avg_sum1 / len(dd) / 2)) print('Exe time: ' +
str(time.clock() - t_start))
扩展资料:
python 实现求和、计数、最大最小值、平均值、中位数、标准偏差、百分比。
import sys
class Stats:
def __init__(self, sequence):
# sequence of numbers we will process
# convert all items to floats for numerical processing
self.sequence = [float(item) for item in sequence]
def sum(self):
if len(self.sequence) 1:
return None
else:
return sum(self.sequence)
def count(self):
return len(self.sequence)
def min(self):
if len(self.sequence) 1:
return None
else:
return min(self.sequence)
def max(self):
if len(self.sequence) 1:
return None
else:
return max(self.sequence)
def avg(self):
if len(self.sequence) 1:
return None
else:
return sum(self.sequence) / len(self.sequence)
def median(self):
if len(self.sequence) 1:
return None
else:
self.sequence.sort()
return self.sequence[len(self.sequence) // 2]
def stdev(self):
if len(self.sequence) 1:
return None
else:
avg = self.avg()
sdsq = sum([(i - avg) ** 2 for i in self.sequence])
stdev = (sdsq / (len(self.sequence) - 1)) ** .5
return stdev
def percentile(self, percentile):
if len(self.sequence) 1:
value = None
elif (percentile = 100):
sys.stderr.write('ERROR: percentile must be 100. you supplied: %s\n'% percentile)
value = None
else:
element_idx = int(len(self.sequence) * (percentile / 100.0))
self.sequence.sort()
value = self.sequence[element_idx]
return value
参考资料来源:百度百科-python
2 如何用Python进行数据计算
numpy计算平均数 标准差 相关系数等基本知识
NumPy 是python 语言的一个第三方库,其支持大量高维度数组与矩阵运算。此外,NumPy 也针对数组运算提供大量的数学函数。
#导入Numpy库,并命名为np
import numpy as np
#创建一维数组
a = np.array([1, 2, 3])
# NumPy可以很方便地创建连续数组,比如我使用arange或linspace函数进行创建:
b = np.arange(1,5,1) // 返回一个有终点和起点、固定步长的排列,如起点是1,终点是4,步长为1,即【1,2,3,4】,
c = np.linspace(1,9,5) 返回一个有终点和起点、元素个数的的排列,如起点是1,终点是9,元素个数为5,即【1,3,5,7,9】
#通过NumPy可以自由地创建等差数组,同时也可以进行加、减、乘、除、求n次方和取余数。
求和:np.sum(a)
求取平均值:np.mean(a)
求取中位数:np.median(a)
求取加权平均数:np.average(a)
求取方差:var() np.var(a)
求取最小值:np.amin(a)
求取最大值:np.amax(a)
将两个数相加:np.add(x1, x2)
将两个数相减:np.subtract(x1, x2)
将两个数相乘:np.multiply(x1, x2)
将两个数相除:np.divide(x1, x2)
立方:np.power(x1, x2)
除余:np.remainder(x1, x2)
相关系数计算:np.corrcoef(a1, a2) (a1、a2都是矩阵)
Python基础 numpy中的常见函数有哪些
有些Python小白对numpy中的常见函数不太了解,今天小编就整理出来分享给大家。
Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy、matplotlib一起使用。其实,list已经提供了类似于矩阵的表示形式,不过numpy为我们提供了更多的函数。
数组常用函数
1.where()按条件返回数组的索引值
2.take(a,index)从数组a中按照索引index取值
3.linspace(a,b,N)返回一个在(a,b)范围内均匀分布的数组,元素个数为N个
4.a.fill()将数组的所有元素以指定的值填充
5.diff(a)返回数组a相邻元素的差值构成的数组
6.sign(a)返回数组a的每个元素的正负符号
7.piecewise(a,[condlist],[funclist])数组a根据布尔型条件condlist返回对应元素结果
8.a.argmax(),a.argmin()返回a最大、最小元素的索引
改变数组维度
a.ravel(),a.flatten():将数组a展平成一维数组
a.shape=(m,n),a.reshape(m,n):将数组a转换成m*n维数组
a.transpose,a.T转置数组a
数组组合
1.hstack((a,b)),concatenate((a,b),axis=1)将数组a,b沿水平方向组合
2.vstack((a,b)),concatenate((a,b),axis=0)将数组a,b沿竖直方向组合
3.row_stack((a,b))将数组a,b按行方向组合
4.column_stack((a,b))将数组a,b按列方向组合
数组分割
1.split(a,n,axis=0),vsplit(a,n)将数组a沿垂直方向分割成n个数组
2.split(a,n,axis=1),hsplit(a,n)将数组a沿水平方向分割成n个数组
数组修剪和压缩
1.a.clip(m,n)设置数组a的范围为(m,n),数组中大于n的元素设定为n,小于m的元素设定为m
2.a.compress()返回根据给定条件筛选后的数组
数组属性
1.a.dtype数组a的数据类型
2.a.shape数组a的维度
3.a.ndim数组a的维数
4.a.size数组a所含元素的总个数
5.a.itemsize数组a的元素在内存中所占的字节数
6.a.nbytes整个数组a所占的内存空间7.a.astype(int)转换a数组的类型为int型
数组计算
1.average(a,weights=v)对数组a以权重v进行加权平均
2.mean(a),max(a),min(a),middle(a),var(a),std(a)数组a的均值、最大值、最小值、中位数、方差、标准差
3.a.prod()数组a的所有元素的乘积
4.a.cumprod()数组a的元素的累积乘积
5.cov(a,b),corrcoef(a,b)数组a和b的协方差、相关系数
6.a.diagonal()查看矩阵a对角线上的元素7.a.trace()计算矩阵a的迹,即对角线元素之和
以上就是numpy中的常见函数。更多Python学习推荐:PyThon学习网教学中心。
如何用python求list的中位数
def median(lst):
if not lst:
return
lst=sorted(lst)
if len(lst)%2==1:
return lst[len(lst)//2]
else:
return (lst[len(lst)//2-1]+lst[len(lst//2])/2.0
python用户输入若干个整数,按降序打印输出在一行(使用空格间隔),并给出中位数?
# coding=gbk
import numpy as np
inputStr = input("请输入多个整数,以空格分隔:")
# 使用列表推导式将输入的内容以空格分隔,如果有小数,则通过int函数变为整数
input_lists = [int(num) for num in inputStr.split(" ")]
# 通过sort方法,并使用参数reverse=True,来将列表的数据以降序排列
input_lists.sort(reverse=True)
# 由于通过",".join()连接的列表不能有整数元素,所以通过列表推导式将列表每个元素通过str转为字符串后,再联接为以逗号分隔的字符串
print(",".join([str(num) for num in input_lists]))
# 使用numpy的median函数来得到中位数
print(np.median(input_lists))
中位数python代码
使用python找到一列数的中位数并输出的代码示例如下,只有9行代码:
import random;
N=9;lst=[
random.randint(0,100)
for i in range(N)];
lst.sort();
l=len(lst);
print("sorted:",lst);
print("median:",
sum(lst[((l-1)//2):(l//2+1)])/2);
标题名称:python求中位数函数 python计算中位数
URL网址:http://hbruida.cn/article/hgcsip.html