为了账号安全,请及时绑定邮箱和手机立即绑定

numpy 数组字典到(转置)csv

numpy 数组字典到(转置)csv

天涯尽头无女友 2023-10-26 10:33:30
我有一本 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.2Python 新手...我有点迷失...谢谢。您的帮助!
查看完整描述

2 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

Pandas正是这样的东西。你会喜欢的

import pandas as pd


dataframe = pd.DataFrame(x, index=labels)

dataframe.to_csv('filename.csv')


查看完整回答
反对 回复 2023-10-26
?
POPMUISE

TA贡献1765条经验 获得超5个赞

您可以使用 pythons csv-module来实现这一点。您需要指定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


查看完整回答
反对 回复 2023-10-26
  • 2 回答
  • 0 关注
  • 106 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信