我的数据是这样的:排序列多.csv文件的Python
549 648.077 0.01
552 648.141 0.45
554 647.167 0.1
572 648.141 0.3
530 630.213 0.69
560 670.312 0.70
有几千行
的1st
行值范围在文件中从0-1100
的2nd
行值范围从600-700
3rd
行值范围从0-1
我需要绘制数据,因此需要进行排序并修改数据:
我需要将第三行值(正常范围0.0-1.0
)分割成段0.0-0.20
,0.21-0.40
,0,41-0,60
,0.61-0.80
,0.81-1.00
接下来,我需要从1st
行(正常范围(0-1100
)段分成段像0-10
,11-20
,21-30
等多达1100 我想要做的是找到一个再内的所有2nd
行值gion 0.0-0.20
和0-10
,0.0-0.20
和11-20
,0.0-0.20
和21-30
。
当发现我想所有这些加在一起,并通过出现的次数除以值获得的平均值:所以我要为0.0-0.20
和0-10
一个value
之间的区域。我是相当新的蟒蛇,我认为这是某种形式的做法:
import os
import csv
dataList = []
with open("table.csv") as csv_file:
data_reader = csv.reader(csv_file, dialect='excel-tab')
for rows in data_reader:
if float(rows[2]) <= 0.20:
if float(rows[0]) <= 10:
print(rows)
if 10 <float(rows[0])<=20:
print (rows)
这应该工作(当然没有打印),以获得值,反复比if 20<float(rows[2])<= 30:
.....那应该为我带来我想要的值,但有没有一种简单的方法可以在10个单位范围内设置范围从0到1100的范围?
P.S .:我知道我给了一个相对较短的问题很多的信息,这是因为我真的不知道python是否是最好的方式来做到这一点,如果我的方法是合理的?也许我应该去panda
但我刚安装。所以如果有人知道更容易(也许不是编码相关)的方式来解决这样的问题,我真的很感激它。
非常感谢你快乐多,模块是巨大的:我只是改变了'平均= SUM(因为我想要每个段的第二行数据的平均值,但似乎我没有提到那个cleary。不,它看起来就像它应该工作的方式一样 –