2016-10-22 2 views
3

Есть функция, которая разбивает объект pandas.dataframe на несколько подкадров данных, на определенное значение столбца? Например, если у меня естьpython split pd dataframe по столбцу

A 1 
B 2 
A 3 
B 4 

Я хочу, чтобы результат следующим образом:

A 1 
A 3 

и

B 2 
B 4 

В R, это функция расщепляется. Как это делается в python? Я знаю, что могу использовать подмножество внутри шлюза. Но есть ли функция? Благодарю.

ответ

4

Вы можете использовать groupby() со списком-понимания, чтобы извлечь список подкадров данных, где каждый из них содержит только одно значение: ind

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

Смежные вопросы