用 0 填充空白列 space
Filling blank column space with 0
我正在尝试用 0 替换我的 txt 文件中的空白列 space。
- 2 6
- 4 8
- 6
我尝试了以下方法。
import numpy as np
data=np.loadtxt('/Users/Hrihaan/Desktop/A_1.txt')
data[data==''] = '0'
收到此消息:ValueError:第 3 行的列数错误。
我的值不是逗号分隔的,所以我也尝试了以下方法。
data[data== ] = 0
此时收到的错误是不同的:SyntaxError: invalid syntax
我的预期输出是这样的:
- 2 6
- 4 8
- 6 0
如有任何建议,我们将不胜感激。
numpy.loadtxt
文档建议(在注释中):
This function aims to be a fast reader for simply formatted files. The genfromtxt
function provides more sophisticated handling of, e.g., lines with missing values.
但是,处理 genfromtxt
中的 "missing values" 并用 "filler values" 替换它们仅适用于已知的 "missing value",例如 x
数字的位置。
那不是你的情况。您有一个缺少字段的文件,这些 numpy
方法无法处理它。您可以手动解析和加载文件,或者,如果可以的话,使用 pandas.read_table
,如下所示:
>>> import pandas as pd
>>> pd.read_table('/path/to/file', dtype=float, header=None, sep='\s+').fillna(0).values
array([[ 2., 6.],
[ 4., 8.],
[ 6., 0.]])
read_table()
将用 NaN
替换缺失值,我们可以用 fillna
方法将它们替换为零。底层 numpy.array
可通过 .values
.
访问
我正在尝试用 0 替换我的 txt 文件中的空白列 space。
- 2 6
- 4 8
- 6
我尝试了以下方法。
import numpy as np
data=np.loadtxt('/Users/Hrihaan/Desktop/A_1.txt')
data[data==''] = '0'
收到此消息:ValueError:第 3 行的列数错误。
我的值不是逗号分隔的,所以我也尝试了以下方法。
data[data== ] = 0
此时收到的错误是不同的:SyntaxError: invalid syntax
我的预期输出是这样的:
- 2 6
- 4 8
- 6 0
如有任何建议,我们将不胜感激。
numpy.loadtxt
文档建议(在注释中):
This function aims to be a fast reader for simply formatted files. The
genfromtxt
function provides more sophisticated handling of, e.g., lines with missing values.
但是,处理 genfromtxt
中的 "missing values" 并用 "filler values" 替换它们仅适用于已知的 "missing value",例如 x
数字的位置。
那不是你的情况。您有一个缺少字段的文件,这些 numpy
方法无法处理它。您可以手动解析和加载文件,或者,如果可以的话,使用 pandas.read_table
,如下所示:
>>> import pandas as pd
>>> pd.read_table('/path/to/file', dtype=float, header=None, sep='\s+').fillna(0).values
array([[ 2., 6.],
[ 4., 8.],
[ 6., 0.]])
read_table()
将用 NaN
替换缺失值,我们可以用 fillna
方法将它们替换为零。底层 numpy.array
可通过 .values
.