2

我正在尝试创建一个 numpy 数组来保存不同的类型,如下所示:

na_csv_output = np.zeros((len(ldt_timestamps),1),dtype=('i4,i4,i4,a10,a10,i4'))

这样做的问题是所有 6 个值都存储为一个条目,而我更希望它是 6 列,以便它们可以正确地写为 CSV。有什么方法可以通过使用 numpy 数组来完成吗?(或其他类型的列表)

附言

即使我尝试将我从初始尝试中获得的值写入文件,使用

np.savetxt('eventResults.csv', na_csv_output, delimiter=",")

它说

TypeError: float argument required, not numpy.string_

所以这是另一个问题。

4

3 回答 3

2

要访问每一列,请使用 na_csv_output['f0']orf1 f2等​​,其中f代表字段。

要将其保存到文件中,首先将其设为一维数组,

na_csv_output = np.zeros((len(ldt_timestamps)),dtype=('i4,i4,i4,a10,a10,i4'))

为了保存它,你可以去这样的事情,例如

np.savetxt('eventResults.csv', na_csv_output, fmt='%f, %f, %f, string= %s %s, last number = %f', delimiter=",")
于 2013-09-30T23:09:20.143 回答
0

我会使用pandas。它使 csv 操作变得非常简单。

import pandas as pd
# omit second argument to np.zeros to get 1-d data
na_csv_output = np.zeros((len(ldt_timestamps),),dtype=('i4,i4,i4,a10,a10,i4'))
df = pd.DataFrame(na_csv_output)
df.to_csv('eventResults.csv')
于 2013-10-01T00:06:41.250 回答
0
with open('eventResults.csv','w') as f:
    for x in xx:
        np.savetxt(f,x,fmt='%f, %f, %f, %r, %r, %f')
        # np.savetxt(f,x,fmt='%r',delimiter=', ')
于 2013-10-01T03:23:10.863 回答