我想转换a = [1,2,3,4,5]成a_string = "1 2 3 4 5".真正的numpy数组相当大(50000x200)所以我认为使用for loops太慢了.
这个问题与这个问题不同:How to print the full NumPy array, without truncation?
在该问题中,用户想知道如何在不截断的情况下打印完整数组。我可以打印数组而无需截断。我的问题是只使用了屏幕宽度的一小部分。当尝试检查大型邻接矩阵时,当行不必要地换行时,不可能检查它们。
我在这里问这个问题是因为我总是需要几个小时才能找到解决方案,并且我想从上面的答案中消除它的歧义。
例如:
import networkx as nx
import numpy as np
np.set_printoptions(threshold=np.inf)
graph = nx.gnm_random_graph(20, 20, 1)
nx.to_numpy_matrix(graph)
Run Code Online (Sandbox Code Playgroud)
此输出显示为:
我在python中处理图像处理,我想输出一个变量,现在变量b是一个带有形状的numpy数组(200,200).当我做print b所有事情时,我看到的是:
array([[ 0., 0., 0., ..., 0., 0., 0.],
[ 0., 0., 0., ..., 0., 0., 0.],
[ 0., 0., 0., ..., 0., 0., 0.],
...,
[ 0., 0., 0., ..., 0., 0., 0.],
[ 0., 0., 0., ..., 0., 0., 0.],
[ 0., 0., 0., ..., 0., 0., 0.]])
Run Code Online (Sandbox Code Playgroud)
如何打印出该数组的全部内容,将其写入文件或简单的内容,以便我可以完整地查看内容?
我测试了PyCharm和IDLE,它们都将第7个数字打印到第二行.
输入:
import numpy as np
a=np.array([ 1.02090721, 1.02763091, 1.03899317, 1.00630297, 1.00127454, 0.89916715, 1.04486896])
print(a)
Run Code Online (Sandbox Code Playgroud)
输出:
[ 1.02090721 1.02763091 1.03899317 1.00630297 1.00127454 0.89916715
1.04486896]
Run Code Online (Sandbox Code Playgroud)
如何将它们打印在一行中?
我在处理 pandas 0.14.0 中 DataFrame 的 to_csv() 函数时遇到了一个令人作呕的问题。我有一个长 numpy 数组列表作为 DataFrame df 中的一列:
>>> df['col'][0]
array([ 0, 1, 2, ..., 9993, 9994, 9995])
>>> len(df['col'][0])
46889
>>> type(df['col'][0][0])
<class 'numpy.int64'>
Run Code Online (Sandbox Code Playgroud)
如果我通过以下方式保存 df
df.to_csv('df.csv')
Run Code Online (Sandbox Code Playgroud)
在 LibreOffice 中打开 df.csv,对应的列显示如下:
[ 0, 1, 2, ..., 9993, 9994, 9995]
Run Code Online (Sandbox Code Playgroud)
而不是列出所有 46889 号码。我想知道是否有一种方法可以强制 to_csv 列出所有数字而不是显示省略号?
df.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 2 entries, 0 to 1
Data columns (total 4 columns):
pair 2 non-null object
ARXscore 2 non-null float64
bselect 2 non-null bool
col 2 non-null object …Run Code Online (Sandbox Code Playgroud)