2017-08-08 123 views
2

如何將熊貓數據框的行按列的值分組?如何將熊貓數據框的行按列的值分組?

假設我們有一個數據幀稱爲DF:

A B C 
1 1a 1b 
1 1c 1d 
1 1e 1f 
2 2a 2b 
2 2c 2d 
3 3a 3b 
3 3c 3d 

我想使用GROUPBY創建以下:

1: {[1a, 1b], 
    [1c, 1d], 
    [1e, 1f]} 

2: {[2a,2b], 
    [2c, 2d]} 


3: {[3a,3b], 
    [3c. 3d]} 

我不認識的.loc是一個選項。但是對於我正在處理的超大型數據集來說,它速度很慢。這就是爲什麼我認爲把它轉換成列表字典可能會更好。

謝謝。

+0

這是相關的:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_dict.html –

回答

3

看來你需要:

df = df.groupby('A')['B','C'].apply(lambda x: x.values.tolist()).to_dict() 
print (df) 
{1: [['1a', '1b'], ['1c', '1d'], ['1e', '1f']], 
2: [['2a', '2b'], ['2c', '2d']], 
3: [['3a', '3b'], ['3c', '3d']]}