Jak utworzyć tabelę kontyngencji w pythonie
Tabela kontyngencji to rodzaj tabeli podsumowującej relację między dwiema zmiennymi kategorycznymi.
Aby utworzyć tabelę kontyngencji w Pythonie, możemy użyć funkcji pandas.crosstab() , która wykorzystuje następującą składnię:
pandas.crosstab(indeks, kolumny)
Złoto:
- indeks: nazwa zmiennej wyświetlana w wierszach tabeli kontyngencji
- kolumny: nazwa zmiennej wyświetlana w kolumnach tabeli kontyngencji
Poniższy przykład pokazuje krok po kroku, jak używać tej funkcji do tworzenia tabeli kontyngencji w Pythonie.
Krok 1: Utwórz dane
Najpierw utwórzmy zbiór danych wyświetlający informacje o 20 różnych zamówieniach produktów, w tym o rodzaju zakupionego produktu (telewizor, komputer lub radio) oraz kraju (A, B lub C), w którym produkt został zakupiony:
import pandas as pd #create data df = pd. DataFrame ({'Order': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], 'Product': ['TV', 'TV', 'Comp', 'TV', 'TV', 'Comp', 'Comp', 'Comp', 'TV', 'Radio', 'TV', 'Radio', 'Radio', 'Radio', 'Comp', 'Comp', 'TV', 'TV', 'Radio', 'TV'], 'Country': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C']}) #view data df Order Product Country 0 1 TV A 1 2 TV A 2 3 Comp A 3 4 TV A 4 5 TV B 5 6 Comp B 6 7 Comp B 7 8 Comp B 8 9 TV B 9 10 Radio B 10 11 TV B 11 12 Radio B 12 13 Radio C 13 14 Radio C 14 15 Comp C 15 16 Comp C 16 17 TV C 17 18 TV C 18 19 Radio C 19 20 TV C
Krok 2: Utwórz tabelę kontyngencji
Poniższy kod pokazuje, jak utworzyć tabelę awaryjnych, aby policzyć liczbę każdego produktu zamówionego przez każdy kraj:
#create contingency table p.d. crosstab (index=df[' Country '], columns=df[' Product ']) Product Comp Radio TV Country A 1 0 3 B 3 2 3 C 2 3 3
Oto jak interpretować tabelę:
- W kraju A zakupiono łącznie 1 komputer.
- W kraju B zakupiono łącznie 3 komputery.
- W kraju C zakupiono łącznie 2 komputery.
- W kraju A zakupiono łącznie 0 radiotelefonów.
- W kraju B zakupiono łącznie 2 radia.
- W kraju C zakupiono łącznie 3 radiotelefony.
- W kraju A zakupiono łącznie 3 telewizory.
- W kraju B zakupiono łącznie 3 telewizory.
- W kraju C zakupiono łącznie 3 telewizory.
Krok 3: Dodaj sumę depozytów zabezpieczających do tabeli awaryjnej
Możemy użyć argumentu marginesy=True , aby dodać sumy marginesów do tabeli kontyngencji:
#add margins to contingency table p.d. crosstab (index=df[' Country '], columns=df[' Product '], margins= True ) Product Comp Radio TV All Country A 1 0 3 4 B 3 2 3 8 C 2 3 3 8 All 6 5 9 20
Sposób interpretacji wartości tabeli jest następujący:
Suma linii:
- Łącznie złożono 4 zamówienia z kraju A.
- Z kraju B złożono łącznie 8 zamówień.
- Z kraju C złożono łącznie 8 zamówień.
Suma kolumn:
- Łącznie zakupiono 6 komputerów.
- Łącznie zakupiono 5 radiotelefonów.
- Łącznie zakupiono 9 telewizorów.
Wartość w prawym dolnym rogu tabeli oznacza, że ze wszystkich krajów zamówiono łącznie 20 produktów.
Dodatkowe zasoby
Jak utworzyć tabelę kontyngencji w R
Jak utworzyć tabelę kontyngencji w programie Excel