簡體   English   中英

將多個numpy數組寫入文件

[英]Write multiple numpy arrays to file

我知道如何使用numpy.savetxt將數組寫入文件。 如何將多個數組寫入同一個文件?

基本上我想對一列數字進行數學運算,然后用修改后的數字替換舊列。 我讀到最簡單的方法是完全編寫一個新文件,將修改后的數字放入,然后“復制並粘貼”文件中的其他數字。

任何幫助表示贊賞。

謝謝!

回答一個非常古老的帖子供我自己使用。 我用以下內容寫出了兩個與CSV大小相同的1D陣列。

import numpy as np

x = [1, 2, 3]
y = [4, 5, 6]
zipped = zip(x, y)
# >>> [(1, 4), (2, 5), (3, 6)]

# Save the array back to the file
np.savetxt('z.csv', zipped, fmt='%i,%i')

如果您想將多個數組寫入文件供以后使用,請查看numpy.savez

但是,根據您的描述,聽起來您想要對分隔文本文件的特定列執行某些操作。

在這種情況下,只需加載整個內容並僅操作您需要的列。

例如

import numpy as np

data = np.loadtxt('test.txt')

# Multiply the 4th column by 5
data[:,3] *= 5

# Do something more complicated to the 2nd column
data[:,1] = np.cos(data[:,1])

# Save the array back to the file
np.savetxt('test.txt', data)
import numpy


list1 = [1, 2, 3, 4]

list2 = [0.45, 0.98, 0.89, 0.21]

dat = numpy.array([list1, list2])

dat = dat.T

numpy.savetxt('data.txt', dat, delimiter = ',')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM