使用混合类型python的多个数组创建文本文件



我正在尝试创建一个文本文件,该文件中有多个数组作为列。诀窍是每个数组都是不同的数据类型。例如:

a = np.zeros(100,dtype=np.int)+2 #integers all twos
b = QC_String = np.array(['NA']*100) #strings all 'NA'
c = np.ones(100,dtype=np.float)*99.9999 #floats all 99.9999
np.savetxt('filename.txt',[a,b,c],delimiter='t')

然而,我得到了一个错误:

TypeError: Mismatch between array dtype ('|S32') and format specifier   
('%.18e %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   
%.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   
%.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   
%.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   
%.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   
%.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   
%.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   
%.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   
%.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   
%.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   
%.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   %.18e   
%.18e')

有什么想法吗?谢谢

我建议使用panda来完成这项任务,它可以在编写新的文本文件时轻松处理多种数据类型。

import numpy as np
import pandas as pd
# Create an empty DataFrame
df = pd.DataFrame()
# Populate columns in the dataframe with numpy arrays of different data types
df['a'] = np.zeros(100, dtype=np.int)+2
df['b'] = np.array(['NA']*100)
df['c'] = np.ones(100, dtype=np.float)*99.9999
# Store the data in a new text file
df.to_csv('./my_text_file.txt', index=False)

打开.txt文件显示:

a,b,c
2,NA,99.999
2,NA,99.999
2,NA,99.999
...

相关内容

  • 没有找到相关文章

最新更新