numpy数组到(转置的)csv的字典



我有一个numpy浮点数组的字典:

labels = 'L0', 'L1', 'L2'
x = {'a': array([1.0, 1.1, 1.2]), 'b':array([2.0, 2.1, 2.2])}

我想要一个类似的.csv文件

'Label','a', 'b'
'L1',1.0, 2.0
'L2',1.1, 2.1
'L3',1.2, 2.2

Python新手。。。我有点迷路了。。。Thx。感谢您的帮助!

Pandas正是如此。你会喜欢它

import pandas as pd
dataframe = pd.DataFrame(x, index=labels)
dataframe.to_csv('filename.csv')

您可以使用pythons csv模块来实现这一点。您需要指定quotechar="'"quoting=csv.QUOTE_NONNUMERIC以确保您想要的报价:

import numpy as np
labels = 'L0', 'L1', 'L2'
x = {'a': np.array([1.0, 1.1, 1.2]), 'b':np.array([2.0, 2.1, 2.2])}
import csv
with open("d.txt","w", newline="") as f:
# ensure quoting of non numerics
wr = csv.writer(f, quotechar="'", quoting=csv.QUOTE_NONNUMERIC)
header = ["Label"] + [k for k in x.keys()]
wr.writerow(header)
data = zip(labels,*x.values())
for d in data:
wr.writerow(d)
print(open("d.txt").read())

文件输出:

'Label','a','b'
'L0',1.0,2.0
'L1',1.1,2.1
'L2',1.2,2.2

最新更新