2016-10-22 4 views
3

pandas.dataframeオブジェクトを複数のサブデータフレームに特定の列値で分割する機能はありますか?python split pd dataframe by column

A 1 
A 3 

とRで

B 2 
B 4 

、それはsplit関数である:例えば、場合、私は、私は次のように結果が欲しい

A 1 
B 2 
A 3 
B 4 

持っています。どのようにPythonでやっているのですか?私はforloop内でサブセットを使用できることを知っています。しかし、そこに機能はありますか?ありがとう。

答えて

4

あなたはそれらのそれぞれは、単一のind値が含まれたサブデータフレームのリストを抽出するためにリスト内包表記でgroupby()を使用することができます。

import pandas as pd 
from StringIO import StringIO 

df = pd.read_csv(StringIO("""A 1 
B 2 
A 3 
B 4"""), sep = "\s+", names=['ind', 'value']) 

lst = [g for _, g in df.groupby('ind')] 

lst[0] 
# ind value 
#0 A  1 
#2 A  3 

lst[1] 
# ind value 
#1 B  2 
#3 B  4 
+0

私は必要なものです!どうもありがとうございます! – NewbieDave