首先,如果我使用了错误的语言来解释我在操作什么,我很抱歉,我对python还很陌生,对python的知识还远远不够
我目前正在尝试对一列数据的长度进行操作,但是遇到了一些问题。这些列来自第7个sdss数据转储的.fit文件。当我运行代码时,x1,x2,x3的每个值都会根据边界条件打印出来
x1 = o3[(03 >= y1)]
print len(x1)
x2 = o3[(o3 < y2) & (o3 < y1)]
print len(x2)
x3 = o3[(o3 < y1) & (o3 >= y2)]
print len(x3)
xtotal = len(x1) + len(x2) + len(x3)
print xtotal
从这一点上,我得到了x1,x2,x3的值,大约为70000,90000和30000,总计约为190000。我想包括一行来计算这些值占总值的百分比,但是我似乎无法让它工作
已经试过了
x1percentage = (xtotal/x1)*100
print x1percentage
它返回的不是对长度进行操作的元素,而是当我尝试将长度定义为一个值时,它返回的答案是0
任何帮助都将不胜感激
您可能在整数数学中出错,但是您的语句
没什么意义
xtotal
是一个整数,x1
是一个值数组,len(x1)
是一个整数,等于x1
的大小,不管如何获得一个百分比,您都需要x1/xtotal
如果您尝试
len(x1)/xtotal
,您将得到如您所提到的零,因为python将两个变量都转换为整数,并使用整数数学,结果是零该解决方案将一个或两个值强制转换为浮点数,以强制浮点除以
相关问题 更多 >
编程相关推荐