2016-06-22 4 views
0

Iveは次の形式の辞書を持っていますkey[0],key[1], value imはこのdictをDataFrameに入れて、これをcsvファイルに書き込もうとしています。今、DataFrameをフォーマットする方法を工夫してみることは、私の痛みを引き起こしています。 IVEはdocsを読み取る私はそれぞれの行になるようにPythons Pandas `from_dict` to_csvを形作る

column1 column2 column3 
key[0] key[1] value 
key[0] key[1] value 
key[0] key[1] value 

Affectivley IDを次のようにフレームをフォーマットする方法をうまくカントFORMDATAを作成するには、以下を行うことができるようにしたいです。あなたは簡単にパンダのデータを構築することができますP、ここで私たちは大爆笑

for key, value in dict.items(): 
    print key[0],key[1], value 

答えて

2

です:CSVへの書き込み時に[0]そうパンダは単純な答えだろうと思った私はCsvWriterを使用していたが、私はキーのソートに望んでいましたフレームをタプルのリストから削除します。

d = {(0,1): 'a', (0,2): 'b', (1,2): 'c'} 

data = [(k1,k2,v) for (k1,k2),v in d.items()] 
df = pd.DataFrame(data, columns=['key1', 'key2', 'value']) 
df 

出力:次に

key1 key2 value 
0 0 1 a 
1 1 2 c 
2 0 2 b 

csvファイルへの書き込み:

df.to_csv('filePath') 
+0

編曲のOKは完璧な理にかなっています。最初の列のソートはどこにありますか? DFの作成中またはcsvの作成中に? – iNoob

+1

@iNoob、あなたは 'df = df.sort_values(by = ['key1'、 'key2'])でデータフレームの作成とファイルへの書き込みの間に行うことができます。' –

+1

'dfを使って作業しました。 sort_values( 'Key1'、ascending = True、inplace = True) ' – iNoob

関連する問題