Python 以一定精度将numpy数组保存到文件

Python 以一定精度将numpy数组保存到文件,python,numpy,Python,Numpy,我有以下numpy阵列: geom= [[ 6. 0.2 -1.6 -1.3915 ] [ 6. 1.40507435 -1.6 -0.69575 ] [ 6. 1.40507435 -1.6 0.69575 ] [ 6. 0.2 -1.6 1.3915 ]

我有以下numpy阵列:

geom= [[ 6.          0.2        -1.6        -1.3915    ]
         [ 6.          1.40507435 -1.6        -0.69575   ]
         [ 6.          1.40507435 -1.6         0.69575   ]
         [ 6.          0.2        -1.6         1.3915    ]
         [ 6.         -1.00507435 -1.6         0.69575   ]
         [ 6.         -1.00507435 -1.6        -0.69575   ]]
当我将其保存到文件时:

np.savetxt(g, geom, fmt ='%f6', delimiter=' ', newline='\n', header='', footer='', comments='# ')
我的第一列的格式是“6.0000008”。随后,我想修改该文件以获得6.0或6。有什么简单的解决办法吗? 我已尝试将字符串转换为int,但返回的错误消息是:

ValueError: invalid literal for int() with base 10: '6.0000008'

假设您希望保持其他浮动不变,那么在NumPy中就不会找到简单的解决方案。当然,你可能会使用它来实现你想要的,但这将比仅仅使用熊猫(正如@jakevdp所提到的)要多得多

您可以将NumPy数组导入Pandas数据帧,进行所需的更改,然后将数据输出为任何Pandas可接受的格式

例如,要编写csv,请执行以下操作:

df = pd.DataFrame(geom)
df[0] = df[0].astype(int)
df.to_csv(g, index=False)

您可以尝试使用
pandas
而不是numpy。它使您可以轻松地将不同类型的数据组合到单个数据帧中,然后以更干净的方式将其导出到文件中。