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计算中位数
转载源于:http://myzitong.com/article/hgcsip.html