繁体   English   中英

加载数据允许泡菜后,以特定格式将“字典”写入.csv文件

[英]writing "dictionaries" to .csv file in a particular format after loading data allowing pickle

我用 numpy np.save() function 保存了一个 python 字典。我不得不加载 allow_pickle 来加载它,所以我现在有了这种格式的字典:

values = {(0, 0, 0): {0: -1421.05, 1: -1578.94, 2: -1473.65, 3: -1471.21},(0, 0, 1): {0: -142, 1: -157, 2: -147, 3: -147},(0, 0, 2): {0: 19, 1: 15, 2: 10, 3: 12}},

我想以这种格式将字典写入 csv:

            0         1        2       3
(0,0,0):-1421.05,-1578.94,-1473.65,-1471.21
(0,0,1):-142,     -157,     -147,   -147  
(0,0,2):19,        15,        10,    12

请问我该如何解决这个问题?

我尝试使用 pandas:

df = pd.DataFrame(policy)
df.to_csv('saved-policy')

但我一直低于错误

错误信息

我们试试这个怎么样?

当您表示所需的 dataframe 时,我不得不假设索引是一个字符串而不是一个元组。

如果我假设错误,请随时从我的字典中删除单引号。

import pandas as pd

# Change the key to strings :)

values = {'(0, 0, 0)': {0: -1421.05, 1: -1578.94, 2: -1473.65, 3: -1471.21},
'(0, 0, 1)': {0: -142, 1: -157, 2: -147, 3: -147},
'(0, 0, 2)': {0: 19, 1: 15, 2: 10, 3: 12}}

# Read the dictionary in a pd.DataFrame

df = pd.DataFrame(values)

# Transpose the dataframe

df = df.T

# Write it as .csv

df.to_csv('output.csv')

Output:

                0        1        2        3
(0, 0, 0) -1421.05 -1578.94 -1473.65 -1471.21
(0, 0, 1)  -142.00  -157.00  -147.00  -147.00
(0, 0, 2)    19.00    15.00    10.00    12.00

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM