2016-10-18 8 views
1

私は以下の問題があります。1つの列を異なるグラフにプロットする方法は?

f = pd.DataFrame([['Meyer', 2], ['Mueller', 4], ['Radisch', math.nan], ['Meyer', 2],['Pavlenko', math.nan]]) 

最初の列で、いくつかのデータフレームにデータフレームを分割するエレガントな方法があります:私は、データフレームのこの種を持っていますか?ですから、最初の列= 'Müller'と最初の列= Radischのデータフレームを取得したいと思います。事前に

おかげで、

エリック

答えて

0

あなたはboolean indexingと列Aunique値でループすることができます: - :

dfs = {x:df[df.A == x].reset_index(drop=True) for x in df.A.unique()}  
print (dfs) 
{'Meyer':  A B 
0 Meyer 2.0 
1 Meyer 2.0, 'Radisch':   A B 
0 Radisch NaN, 'Mueller':   A B 
0 Mueller 4.0, 'Pavlenko':   A B 
0 Pavlenko NaN} 

print (dfs.keys()) 
dict_keys(['Meyer', 'Radisch', 'Mueller', 'Pavlenko']) 

print (dfs['Meyer']) 
     A B 
0 Meyer 2.0 
1 Meyer 2.0 

print (dfs['Pavlenko']) 
      A B 
0 Pavlenko NaN 

df = pd.DataFrame([['Meyer', 2], ['Mueller', 4], 
        ['Radisch', np.nan], ['Meyer', 2], 
        ['Pavlenko', np.nan]]) 
df.columns = list("AB") 
print (df) 
      A B 
0  Meyer 2.0 
1 Mueller 4.0 
2 Radisch NaN 
3  Meyer 2.0 
4 Pavlenko NaN 

print (df.A.unique()) 
['Meyer' 'Mueller' 'Radisch' 'Pavlenko'] 

for x in df.A.unique(): 
    print(df[df.A == x]) 

     A B 
0 Meyer 2.0 
3 Meyer 2.0 
     A B 
1 Mueller 4.0 
     A B 
2 Radisch NaN 
      A B 
4 Pavlenko NaN 

が続いdict理解を使用しdictionaryDataFramesのを取得

+0

それはとてもうまくいった、ありがとう! –

関連する問題