私は、辞書の3次元辞書として格納されているいくつかのメトリックを計算するコードを持っています。私はcsvファイルにこの辞書を印刷したいと思いますが、そうすることで良い方法は見つけられていません。多次元辞書をファイルに書き込む
一旦辞書内のすべての要素が計算され、Iは、( - 列キーとカラムメトリック異なるperiods
が列でなければならないファイルのヘッダおよびkeys
と指標a, b, and c
である)、それがファイルに印刷したいです。
これをファイルに簡単に印刷する方法はありますか? (私の最初の試みはパンダだったが、これは動作しませんでした)
ありがとうございますが、これだけのためにcsv
モジュールを使用する必要があります
from collections import defaultdict
import pandas as pd
import os
import random
# 3 dimensional dictionary that stores integers
output_dict = defaultdict(lambda: defaultdict(lambda: defaultdict(int)))
# Array of periods
periods = range(0, 2)
# relevant keys
keys = ["key1", "key2"]
# Iterate over all periods
for period in periods:
# Iterate over all relevant keys
for key in keys:
# Store results for key for each time period for each category ("a", "b", or "c")
output_dict[key][period]["a"] += random.randint(1, 1000)
output_dict[key][period]["b"] += random.randint(1, 1000)
output_dict[key][period]["c"] += random.randint(1, 1000)
# This is the tricky part!!!
# Store results
pd.DataFrame(output_dict).to_csv("output_dict.csv", index=False)
# the dictionary may look as follows:
output_dict = {"key1": {0: {"a": 0.9, "b": 0.2, "c": 0.5}, 1:{"a": 0.91, "b": 0.3, "c": 0.4}},
"key2": {0: {"a": 0.4, "b": 0.33, "c": 0.34}, 1: {"a": 0.21, "b": 0.73, "c": 0.54}}}
まず、とパンダのデータフレームにデータを変換してみてください'key'、' a'、 'b'、' c'の列。それから、CSVへの投棄はかなり苦痛であるはずです。 –
あなたの辞書がどのように見えるか、そしてCSVをどのように見せたいかを例えれば助けになるでしょう。 –
@JackManey:パンダには簡単な方法がありますか?おそらく@Andreas – Andreas