用python对部分数据分析,读取其中一列并且按照取值范围选取一部分?

110.72143961.25009174.0829177212.88662460.04.0829177311.44374540.02.0411525410.00.00.... 1 1 0.7214396 1.2500917 4.0829177
2 1 2.8866246 0.0 4.0829177
3 1 1.4437454 0.0 2.0411525
4 1 0.0 0.0 0.0
5 1 3.6089301 1.2500917 2.0411525
6 1 2.165185 1.2500917 0.0
7 1 0.0 0.0 4.5930529
8 1 2.165185 1.2500917 4.5930529
9 1 0.7214396 1.2500917 2.5518999
10 1 2.8866246 0.0 2.5518999
11 1 1.4437454 0.0 0.510135
12 1 3.6089301 1.2500917 0.510135
13 1 5.0518093 1.2500917 4.0829177
14 1 7.2169943 0.0 4.0829177
15 1 5.7741156 0.0 2.0411525
比如上面这些数据,我想把他们按行读取,然后再把每一行的第三个数按照1<x<3的方式选出来,在对其进行数学计算,该怎么办啊?
我用了下面的方法,读出来的是最后一行的数据。
f=open('yuanshi.data')
for line in f:
data=line.split()
print (data)
展开
 我来答
黑板客
2016-04-17 · TA获得超过469个赞
知道小有建树答主
回答量:193
采纳率:100%
帮助的人:191万
展开全部

最快回答能够把数据都打印出来。已经满足要求了。


不过通常处理数据还希望把这些数据保存起来。如果方便进行矩阵操作的话,最好用numpy库。


import numpy as np
f=open('yuanshi.data')
data=[line.split() for line in f]
x=np.array(data,dtype='float')
idx = np.where((x[:,2]<3) & (x[:,2]>1))
print x[:,2][idx]


要想加5,直接x[:,2][idx]+5

光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
匿名用户
推荐于2018-02-27
展开全部
for line in f:
    if 0<float(line.split()[2])<3:       
        data=float(line.split()[2])
        print(data)
追问
如果我要再把选出来的数据都加上5,该怎么做呢
追答
data+=5
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式