2014-02-22 110 views
1

希望網絡空間中的每個人都在爲安息日(或您所做的任何事情)準備一個史詩般的星期五晚上和關於或者僅僅在家中。考慮這個你的賽前雞尾酒.....我有一個python數據框,我想在32個不同的切片中按行進行細分(想象一個按行切成32個小數據集的大數據集)。我可以手動分割數據幀ALA:使用循環或列表理解制作多個熊貓數據幀

df_a = df[df['Type']=='BROKEN PELVIS'] 

df_b = df[df['Type']=='ABDOMINAL STRAIN'] 

我假設有一個更Python化的表達有人會喜歡分享。堆棧溢出公衆喜歡知道某些東西不是家庭作業,所以我要告訴你,這不是作業。我正在尋找的東西沿線︰

for i in new1: 
    df_%s= df[df['#RIC']=='%s'] , %i 

希望是有道理的。乾杯。 大通CB

回答

3

在這些類型的情況下,我認爲這是更Python的DataFrames存儲在一個Python字典:

injuries = {injury: df[df['Type'] == injury] for injury in df['Type'].unique()} 

injuries['BROKEN PELVIS'] # is the same as df_a above 

大多數時候,你並不需要創建一個新的數據幀,但可以使用一個GROUPBY(這取決於你下一步做什麼),看到http://pandas.pydata.org/pandas-docs/stable/groupby.html

g = df.groupby('Type') 

更新:其實還有一個方法get_group訪問這些:

In [21]: df = pd.DataFrame([['A', 2], ['A', 4], ['B', 6]]) 

In [22]: g = df.groupby(0) 

In [23]: g.get_group('A') 
Out[23]: 
    0 1 
0 A 2 
1 A 4 

注:大多數時候你不需要這樣做,應用,聚合和轉換是你的朋友!

+0

感謝您的投入,真的很感激。我想寫一些有趣的東西讓你知道我非常感激,但是,唉,我的幽默感有點黑,我不想冒犯堆棧溢出的人。 –

+0

@ChaseCB哈!我不會被冒犯!您可以接受:http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –