[英]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.