首先,对不起,如果我使用错误的语言来解释我正在操作的内容,我对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
从这一点开始,我获得了大约70000,90000和30000的x1,x2,x3的值,总共大约190000.我想包括一条线来计算总价值的百分比,但我可以'似乎让这个工作。
尝试过。
x1percentage = (xtotal/x1)*100
print x1percentage
这会返回操作的元素而不是长度,但当我尝试将长度定义为一个值时,它会返回0的答案。
非常感谢任何帮助。
答案 0 :(得分:0)
您可能在使用整数数学时出错,但您的声明
x1percentage = (xtotal/x1)*100
没有意义。 xtotal
是一个整数,x1
是一个值数组,len(x1)
是一个等于x1
大小的整数,无论你想得到一个百分比x1/xtotal
len(x1)/xtotal
1}}。
如果你试过x1percentage = (xtotal / float(x1)) * 100
,你会得到零,因为python会将两个变量都转换为整数并使用整数数学,结果为零。
解决方案将一个或两个值强制转换为浮动以强制浮点除法
<meta http-equiv="refresh" content="30" >