python - 如何迭代地将 np.arrays 写入 csv?

标签 python csv numpy

我想将一堆客户数据写入 csv 文件,这些数据存储在 np 数组中。首先,我想附加客户 ID 和部门名称,然后我想将记录作为一行添加到 csv,最终结果如下所示:

0,a,0.5,0.1,0.7,0.9,1.2
1,a,0.6,0.8,0.7,1.9,1.2
2,a,0.8,1.1,1.7,1.9,0.2
3,a,0.5,0.8,1.7,1.3,1.2
.....

等等......

我使用的循环看起来像这样:

import numpy as np
ID = 0 
Dept = 'a'
with open('test_file.csv', 'w') as train_file:
    for _ in range(10):
        noise = np.random.normal(0, 0.5, 20)
        noise = np.append([ID,Dept],noise)
        np.savetxt(train_file, noise,fmt='%s',delimiter=",")
        ID +=1 

但是它给出了一个奇怪的输出,只有第一行被写入文件并且在列而不是行中:

0
a
0.13413237923120783
-0.35992427454477954
0.0438584146450925
0.3692908225112282 
0.5815011967140531
0.9963752057887987
0.1648769579313785
-0.7986834355365774
0.0547352924307264

我该如何解决这个问题?

最佳答案

一种方法是将数组 reshape 为 (1, N) 维度,如下所示:

np.savetxt(train_file, noise.reshape(1,noise.shape[0]), fmt='%s', delimiter=",")

关于python - 如何迭代地将 np.arrays 写入 csv?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57211503/

相关文章:

python - 在图中查找 3 个节点(或三角形)的循环

python - 如何在flask-sqlalchemy中插入重复数据。通过避免 SQL-ALCHEMY 完整性错误

python - Python matplotlib 如何处理二进制数据?

csv - 更改 Gnumeric 文本导入导出默认设置

excel - 在创建 excel 工作表时使用分隔符 4gl

python - 在视频中绘图

python - kmeans 散点图 : plot different colors per cluster

python - python 多处理队列可以传递给子进程吗?

mysql - 如何使用字符串中的引号将数据从 CSV 导入 MySQL?

python - numpy.shares_memory 和 numpy.may_share_memory 有什么区别?