Funkcja „croSstab ()” w pandaach tworzy tabelę między-tebulacji, która wyświetla częstotliwość, z jaką pojawiają się określone zestawy danych. Metoda „crosstab ()” jest jedną z kilku technik w pandy, która pozwala restrukturyzować dane. Ten post wyjaśnia, jak użyć funkcji „crosstab ()”.
Crosstab () Składnia:
Pandy.crosstab (indeks, kolumny, wartości = brak, rownames = none, colnames = none, margines = false, margines_name = 'all', dropna = true, normalize = false)
Parametry:
- Tutaj pierwszym parametrem jest „indeks”, który jest wartościami wykorzystywanymi jako indeks danych wyjściowych DataFrame. Może to być tablica, seria lub wiele tablic lub serii.
- „Kolumny” to wygenerowane kolumny DataFrame.
- „Wartości” to wartości, które są wykorzystywane do obliczenia statystyki dostarczonej przez „AGG _FUNC”.
- „Rownames” to nazwa, które są przydzielane do wierszy w wynikającej z nich DataFrame. „Rownames = none” jest domyślnym ustawieniem dla tego argumentu.
- „Nazwy Colnames” to nazwa kolumny, które są podane do wyjścia DataFrame. „ColNames = none” to ustawienie domyślne. Wejście tej funkcji to „wartości”, a element zwrotny jest zagregowaną statystyką, taką jak średnia, maksimum itp.
- „Margines” określa, czy dodać dodatkowy wiersz i kolumnę, która pokazuje sumę komórek, a także do kolumny. „Margin = false” to ustawienie domyślne.
- „Nazwa marginesu” to tytuł nowo dołączonego wiersza i kolumny, jeśli „marginesy” są skonfigurowane do „true”.
- „Dropna” określa, czy usunąć kolumny o wartości NAN. „Dropna = false” to domyślna konfiguracja.
- „Normalizuj” mówi, czy znormalizować uzyskane liczby, dzieląc przez całkowitą sumę.
Przykład 1:
Utwórz ramkę danych z 5 kolumnami i wygeneruj tabelę awaryjnych (karta krzyżowa), ustawiając oś x jako kolumnę „Option2” i oś y jako kolumnę „Nazwa”.
importować pandy
# Utwórz ramkę danych z 5 kolumnami
mydata = pandy.DataFrame ([[1, „Sravan”, „Technologia chmurowa”, „bazy danych”, 89],
[2, „Sravan”, „Python”, „Frontend Programming”, 98],
[3, „Sravan”, „Elective 1”, „Batabases”, 50],
[5, „satwik”, „php”, „bazy danych”, 99],
[6, „Diba”, „PHP”, „Bazy danych”, 19],
[9, „Diba”, „Elective 1”, „Frontend Programming”, 54],
],
kolumny = [„Identyfikator egzaminu”, „nazwa”, „opcja 1”, „opcja2”, „Marks”]
)
druk (mydata, „\ n”)
# Użyjmy funkcji crosstab ()
Częstotliwość = pandy.Crosstab (mydata.Opcja 2, MyData.nazwa)
Drukuj (częstotliwość)
Wyjście:
Wyjaśnienie:
Podajemy kolumnę „Option2” jako oś x i kolumnę „Nazwa” jako oś y. Teraz możesz zobaczyć na poprzedniej ilustracji, że tabela częstotliwości jest generowana. Przeanalizujmy to.
- „Bazy danych” - „Diba” trzymają tylko 1, „Satwik” również 1 i „Sravan” 2.
- „Programowanie frontendowe” - „Diba” posiada tylko 1, „Satwik” posiada 0, a „Sravan” również 1 to 1.
Przykład 2:
Użyj tej samej ramki danych i wygeneruj tabelę awaryjnej (zakładka krzyżowa), ustawiając oś.
importować pandy
# Utwórz ramkę danych z 5 kolumnami
mydata = pandy.DataFrame ([[1, „Sravan”, „Technologia chmurowa”, „bazy danych”, 89],
[2, „Sravan”, „Elective 1”, „Frontend Programming”, 98],
[3, „Sravan”, „Elective 1”, „Batabases”, 50],
[5, „satwik”, „php”, „bazy danych”, 99],
[6, „Diba”, „PHP”, „Bazy danych”, 19],
[9, „Diba”, „PHP”, „Programowanie frontendowe”, 54],
],
kolumny = [„Identyfikator egzaminu”, „nazwa”, „opcja 1”, „opcja2”, „Marks”]
)
# Użyjmy funkcji crosstab ()
Częstotliwość = pandy.Crosstab ([mydata.Opcja 1, MyData.opcja 2], mydata.nazwa)
Drukuj (częstotliwość)
Wyjście:
Wyjaśnienie:
Podajemy kolumny „Option1” i „Option2” jako osi x za pośrednictwem listy i kolumny „Nazwa” jako osi y. Teraz możesz zobaczyć na poprzedniej ilustracji, że tabela częstotliwości jest generowana.
Przykład 3: Ustaw marginesy
Teraz tworzymy tabelę awaryjnych dla kolumn „Option2” i „Nazwa”, ustawiając marginesy i podając nazwy marginesu jako „całkowitą liczbę”.
importować pandy
# Utwórz ramkę danych z 5 kolumnami
mydata = pandy.DataFrame ([[1, „Sravan”, „Technologia chmurowa”, „bazy danych”, 89],
[2, „Sravan”, „Elective 1”, „Frontend Programming”, 98],
[3, „Sravan”, „Elective 1”, „Batabases”, 50],
[5, „satwik”, „php”, „bazy danych”, 99],
[6, „Diba”, „PHP”, „Bazy danych”, 19],
[9, „Diba”, „PHP”, „Programowanie frontendowe”, 54],
],
kolumny = [„Identyfikator egzaminu”, „nazwa”, „opcja 1”, „opcja2”, „Marks”]
)
# Użyjmy funkcji crosstab (), ustawiając marginesy i parametr marginesowy
Częstotliwość = pandy.Crosstab (mydata.Opcja 2, MyData.Nazwa, margines = true, margines_name = "Całkowita liczba")
Drukuj (częstotliwość)
Wyjście:
Wyjaśnienie:
Przekazujemy marginesy i ustawiamy je na true i margines_name na „całkowitą liczbę”. Marginesy są tworzone, a całkowita suma wartości dla osi jest zwracana jako 6.
W rzędach:
- Dla „baz danych” - 1+1+2 = 4
- W przypadku „programowania frontendowego” - 1+0+1 = 2
Całkowita liczba to 6.
W kolumnach:
- Dla „Diba” - 1+1 = 2
- Dla „satwik” - 1+0 = 1
- Dla „Sravan” - 2+1 = 3
Całkowita liczba to 6.
Przykład 4: Ustaw wartości normalizowane
Teraz tworzymy tabelę awaryjnych dla kolumn „Option2” i „Nazwa”, normalizując wartości.
importować pandy
# Utwórz ramkę danych z 5 kolumnami
mydata = pandy.DataFrame ([[1, „Sravan”, „Technologia chmurowa”, „bazy danych”, 89],
[2, „Sravan”, „Elective 1”, „Frontend Programming”, 98],
[3, „Sravan”, „Elective 1”, „Batabases”, 50],
[5, „satwik”, „php”, „bazy danych”, 99],
[6, „Diba”, „PHP”, „Bazy danych”, 19],
[9, „Diba”, „PHP”, „Programowanie frontendowe”, 54],
],
kolumny = [„Identyfikator egzaminu”, „nazwa”, „opcja 1”, „opcja2”, „Marks”]
)
# Użyjmy funkcji crosstab (), ustawiając parametr normalizacji na indeks.
Częstotliwość = pandy.Crosstab (mydata.Opcja 2, MyData.Nazwa, normalizowanie = „indeks”)
Drukuj (częstotliwość)
Wyjście:
Wyjaśnienie:
Przekazujemy parametr normalizacji i ustawiamy go na „indeks”. Zwraca odsetek każdego zdarzenia.
Całkowita liczba to 6.
- W „bazach danych” - dla „Diba” - 1 wśród 4 => znormalizowana wartość wynosi 0.25.
- W „bazach danych” - dla „satwik” - 1 wśród 4 => znormalizowana wartość wynosi 0.25.
- W „bazach danych” - dla „sravan” - 2 wśród 4 => znormalizowana wartość wynosi 0.5.
- W „programowaniu frontendowym” - dla „Diba” - 1 wśród 2 => znormalizowana wartość wynosi 0.50.
- W „programowaniu frontendowym” - dla „satwik” - 0 wśród 2 => znormalizowana wartość wynosi 0.00.
- W „programowaniu frontendowym” - dla „Sravan” - 1 wśród 2 => znormalizowana wartość wynosi 0.5.
Wniosek
Ten artykuł został napisany, aby dać ci pomysł i sprawić, że zrozumiesz koncepcję obliczania tebulacji krzyżowej do analizy danych. Pandy zapewnia nam wiele przydatnych funkcji. Z tego „Pandy.crosstab () ”to jeden. Wykorzystaliśmy tę metodę w tej nauce, aby obliczyć tebulację krzyżową i rozważaliśmy większość parametrów do demonstracji.