从 Python 中的 txt 文件中提取 rows/columns 个数字
Extracting rows/columns of numbers from a txt file in Python
我是 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 中的文件中提取单独的 rows/columns 以用作列表或数组(同样,我对此很陌生)。因此,例如,我将如何使用第一列中的数据制作列表 [-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)
这里的objective是写一个程序,用数组来计算我们项目说明中给出的不同变量。
我没用过 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']
这可能是 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
参考文献:
您可以将数据导入为 numpy.array
import numpy as np
data = np.genfromtxt('Numbers.txt', unpack=True).T
然后,检索 columns/rows 就像 indexing/slicing a numpy.array
一样简单
print(data[1,:])
print(data[:,1])
这将导致
[ 0. 2.4 0.34743374]
[ 2.1 2.4 2.5 3.5 4.2]
我是 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 中的文件中提取单独的 rows/columns 以用作列表或数组(同样,我对此很陌生)。因此,例如,我将如何使用第一列中的数据制作列表 [-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)
这里的objective是写一个程序,用数组来计算我们项目说明中给出的不同变量。
我没用过 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']
这可能是 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
参考文献:
您可以将数据导入为 numpy.array
import numpy as np
data = np.genfromtxt('Numbers.txt', unpack=True).T
然后,检索 columns/rows 就像 indexing/slicing a numpy.array
print(data[1,:])
print(data[:,1])
这将导致
[ 0. 2.4 0.34743374]
[ 2.1 2.4 2.5 3.5 4.2]