2017-10-17 1 views
1

:私は終わるように、私が欲しいものデータフレームを列ごとに個別のリストに分割するにはどうすればよいですか?質問は、私は非常に大きいですが、のように見えるデータフレーム持って、言うように

 ID Count ValueX Value 2 Value 3 
RowX 1  234.  255.  yes.  yes 
RowY 1  123.  135.  543.  342 
RowW 1  234.  235.  yes.  yes 
RowJ 1  123.  115.  543.  342 
RowA 1  234.  285.  yes.  yes 
RowR 1  123.  165.  543.  342 
RowX 2  234.  255.  yes.  yes 
RowY 2  123.  135.  543.  342 
RowW 2  234.  235.  yes.  yes 
RowJ 2  123.  115.  543.  342 
RowA 2  234.  285.  yes.  yes 
RowR 2  123.  165.  543.  342 
. 
. 
. 
RowX 1233 234.  255.  yes.  yes 
RowY 1233 123.  135.  543.  342 
RowW 1233 234.  235.  yes.  yes 
RowJ 1233 123.  115.  543.  342 
RowA 1233 234.  285.  yes.  yes 
RowR 1233 123.  165.  543.  342 

は、DFを取り、列でリストに分割することができることですIDCountValueXValue 2とその残りのリストでリストアップします。現在、私はそれが好きでやっている:

IDlist = df_original.ID.tolist() 
Countlist = df_original.Count.tolist() 
... 

これは私が必要とするソリューションを提供しますが、私はリストにDFを分割するための簡単な方法があるかどうかを知りたいです。

+0

「短い」と言うと、短いコード行を意味しますか?または、リストのリストを作るループが必要ですか? – ASGM

+0

実際には、今は手作業で33個のリストを作成しています – tushariyer

答えて

0

あなたは、ネストされたリストを作成することができます。

L = df.values.T.tolist() 

print (L) 
[[1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2], 
[234.0, 123.0, 234.0, 123.0, 234.0, 123.0, 234.0, 123.0, 234.0, 123.0, 234.0, 123.0], 
[255.0, 135.0, 235.0, 115.0, 285.0, 165.0, 255.0, 135.0, 235.0, 115.0, 285.0, 165.0], 
['yes.', '543.', 'yes.', '543.', 'yes.', '543.','yes.','543.','yes.','543.','yes.','543.'], 
['yes', '342', 'yes', '342', 'yes', '342', 'yes', '342', 'yes', '342', 'yes', '342']] 

はあなたが好きな位置でアクセスすることができます。

print (L[0]) 
[1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2] 

またはそれ以上list秒の辞書を作成します。

d = df.to_dict('l') 
print (d) 
{ 
'Count':[234.0, 123.0, 234.0, 123.0, 234.0, 123.0, 234.0, 123.0, 234.0, 123.0, 234.0, 123.0], 
'Value 3':['yes', '342', 'yes', '342', 'yes', '342','yes','342', 'yes', '342', 'yes', '342'], 
'ID': [1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2], 
'Value 2': ['yes.', '543.', 'yes.', '543.', 'yes.', '543.', 
      'yes.', '543.', 'yes.', '543.', 'yes.', '543.'], 
'ValueX':[255.0, 135.0, 235.0, 115.0, 285.0, 165.0, 255.0, 135.0, 235.0, 115.0, 285.0,165.0] 
} 
あなたがしてアクセスすることができます

列名は次のとおりです。

print (d['ID']) 
[1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2] 
+0

これは何をするのですか? – tushariyer

+0

質問:ネストされたリストが必要ですか?か否か? – jezrael

+0

私は実際にネストされたリストを必要としません、いいえ – tushariyer

関連する問題