Mam takie dane

df = pd.DataFrame({"col_1" :["A","B","B","B","A"], "col_2": ["JK","ML","ML","JK","JK"]})

Chcę więc znaleźć procent tych dwóch kolumn. Przykład Chcę poznać procent "JK" & "ML" in B

W tej chwili robię przez podzbiorów.

Moja metoda jest czymś w rodzaju:

df_B = df.loc[df['col_1']=='B']
df_B['col_2'].value_counts(normalize = True)*100

Czy jest jakakolwiek inna metoda bez robienia podzbioru?

Z góry dziękuję

0
Praveen Bushipaka 20 październik 2020, 17:35

1 odpowiedź

Najlepsza odpowiedź

Sprawdź crosstab

pd.crosstab(df['col_1'],df['col_2'],normalize ='index')
Out[180]: 
col_2        JK        ML
col_1                    
A      1.000000  0.000000
B      0.333333  0.666667
2
BENY 20 październik 2020, 14:37