Zacznij terazZacznij za darmo

Obliczanie sumy populacji według stanu

Aby uniknąć nieczytelnych nazw kolumn w wynikach zapytania, takich jak count_1, możemy użyć metody .label(), która pozwala nadać własną nazwę kolumnie wynikowej. Dołączamy ją do wywołania funkcji, a jej argumentem jest wybrana przez nas nazwa.

Możemy połączyć func.sum() z .group_by(), aby obliczyć sumę populacji według State, i użyć metody label(), aby nazwać wynik.

Można też wcześniej utworzyć wyrażenie func.sum() – zanim użyjemy go w instrukcji select. Tworzymy je tak samo, jak zrobilibyśmy to bezpośrednio w instrukcji select, i zapisujemy w zmiennej. Następnie używamy tej zmiennej w miejscu, gdzie normalnie znajdowałoby się func.sum().

To ćwiczenie jest częścią kursu

Wprowadzenie do baz danych w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj func z sqlalchemy.
  • Utwórz wyrażenie obliczające sumę wartości z pola pop2008 z etykietą 'population'.
  • Zbuduj instrukcję select, która pobiera wartość pola state oraz sumę wartości z pola pop2008.
  • Pogrupuj instrukcję według state, używając metody .group_by().
  • Wykonaj stmt za pomocą connection, aby pobrać wyniki, i zapisz je jako results.
  • Wyświetl nazwy kluczy/kolumn zwróconych wyników, używając results[0].keys().

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Import func
____

# Build an expression to calculate the sum of pop2008 labeled as population
pop2008_sum = func.sum(____).label(____)

# Build a query to select the state and sum of pop2008: stmt
stmt = select([____, ____])

# Group stmt by state
stmt = stmt.group_by(____)

# Execute the statement and store all the records: results
results = connection.execute(____).fetchall()

# Print results
print(results)

# Print the keys/column names of the results returned
print(____)
Edytuj i uruchom kod