[ 0. 0. 0. 1. 0. 0. 0. 1. 0.69314718]
[ 0. 0. 0. 0.75 0.25 0. 0. 1. 0.69314718]
[ 0. 0. 0. 0.5 0.5 0. 0. 1. 0.69314718]
txt
文件包含许多np.array,读取后如何保留所有这些数组形式而不是字符串?
答案 0 :(得分:1)
这是一种解决方法,尽管不一定理想。您可以使用np.genfromtxt
读入它,但这将使NaN
作为第一个和最后一个元素(在这里它试图将字符[
和]
读为浮点数)。因此,您可以将它们索引出来。
d = np.genfromtxt('file.txt')
# >>> d
# array([[ nan, 0. , 0. , 0. , 1. , 0. , 0. , 0. , 1. , nan],
# [ nan, 0. , 0. , 0. , 0.75, 0.25, 0. , 0. , 1. , nan],
# [ nan, 0. , 0. , 0. , 0.5 , 0.5 , 0. , 0. , 1. , nan]])
d = d[:,~np.isnan(d).all(0)]
给你:
>>> d
array([[0. , 0. , 0. , 1. , 0. , 0. , 0. , 1. ],
[0. , 0. , 0. , 0.75, 0.25, 0. , 0. , 1. ],
[0. , 0. , 0. , 0.5 , 0.5 , 0. , 0. , 1. ]])