我是Python的新手,遇到了一个很小的问题(但似乎是一个非常困难的问题)。
我有一个txt文件,其中包含以下内容:
-2 2.1 -0.365635756
0 2.4 0.347433737
2 2.5 0.263774619
4 3.5 -0.244930974
6 4.2 -0.004564913
我的目标是以某种方式从Python中的文件中提取单独的行/列以用作列表或数组(同样,我对此还是新手)。那么,例如,如何使用第一列中的数据制作列表[-2,0,2,4,6]?
我目前在工作中有以下代码:
import numpy as np
with open('Numbers.txt', 'r') as f:
fcontents = f.read()
print(fcontents)
x = np.array(fcontents)
这样做的目的是编写一个程序,使用数组来计算项目指令中给出的不同变量。
答案 0 :(得分:1)
这可能是pandas
的工作:
import pandas as pd
df = pd.read_fwf('Numbers.txt', header=None)
first_col = df[0]
assert first_col.mean() == 2
assert first_col.median() == 2
assert sum(first_col) == 10
参考文献:
答案 1 :(得分:0)
我没有使用numpy,但如果你想分成列,你可以做这种事情
col1 = []
col2 = []
col3 = []
with open('Numbers.txt', 'r') as f:
for line in f:
first, second, third = line.split()
col1.append(first)
col2.append(second)
col3.append(third)
print(col1)
print(col2)
print(col3)
输出
['-2', '0', '2', '4', '6']
['2.1', '2.4', '2.5', '3.5', '4.2']
['-0.365635756', '0.347433737', '0.263774619', '-0.244930974', '-0.004564913']
答案 2 :(得分:0)
您可以将数据导入为numpy.array
import numpy as np
data = np.genfromtxt('Numbers.txt', unpack=True).T
然后,检索列/行就像索引/切片numpy.array
print(data[1,:])
print(data[:,1])
这将导致
[ 0. 2.4 0.34743374]
[ 2.1 2.4 2.5 3.5 4.2]