如何保持np.数组从txt文件读取后的窗体?

2024-04-25 04:19:47 发布

您现在位置:Python中文网/ 问答频道 /正文

[ 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.数组,如何在读取后保留所有这些数组形式而不是字符串?你知道吗


Tags: 文件字符串txtnp数组形式
1条回答
网友
1楼 · 发布于 2024-04-25 04:19:47

这里有一个解决方法,尽管它不一定是理想的。您可以用np.genfromtxt读入它,但这将给您NaN作为第一个和最后一个元素(它试图将字符[]作为float读取)。这样你就可以索引出来了。你知道吗

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.  ]])

相关问题 更多 >