Zestaw Danych o Żywności Nutrola: 500K+ Produktów Dostępnych do Pobrania

Pobierz otwarty zestaw danych o żywności Nutrola z ponad 500K zweryfikowanymi wpisami, w tym kaloriami, makroskładnikami, mikroelementami i wielkościami porcji. Dostępne w formatach CSV i JSON do badań, rozwoju i edukacji.

Medically reviewed by Dr. Emily Torres, Registered Dietitian Nutritionist (RDN)

Dobre dane żywieniowe są trudne do znalezienia. Badacze spędzają tygodnie na oczyszczaniu rządowych baz danych. Programiści piszą kruchy kod do skanowania, który psuje się co miesiąc. Studenci piszący prace dyplomowe muszą zadowolić się małymi, przestarzałymi próbkami, ponieważ stworzenie kompleksowego zestawu danych od podstaw nie jest realistyczne w ramach akademickiego harmonogramu.

Stworzyliśmy bazę danych żywności Nutrola, aby wspierać naszą aplikację do śledzenia kalorii, a przez ostatnie trzy lata zainwestowaliśmy znaczne środki w zapewnienie dokładności, kompleksowości i dobrej struktury tych danych. Dziś udostępniamy starannie wybrany podzbiór tej bazy jako otwarty zestaw danych: ponad 500 000 zweryfikowanych wpisów o żywności dostępnych do pobrania za darmo w formatach CSV i JSON.

W tym artykule znajdziesz wszystko, co musisz wiedzieć o zestawie danych — co się w nim znajduje, jak go pobrać, schemat, licencjonowanie, metodologia jakości oraz jak wypada w porównaniu do innych publicznie dostępnych źródeł danych o żywieniu.

Co Zawiera Zestaw Danych

Otwarty Zestaw Danych o Żywności Nutrola zawiera ponad 500 000 wpisów dotyczących żywności, obejmujących surowe składniki, produkty ogólne, markowe produkty konsumpcyjne oraz popularne dania restauracyjne. Każdy wpis został zweryfikowany w ramach naszego wielowarstwowego systemu kontroli jakości, opisanego szczegółowo w naszym artykule o tym, jak zbudowaliśmy naszą bazę danych żywności.

Każdy wpis o żywności zawiera następujące dane:

  • Nazwa żywności — powszechna nazwa produktu w języku angielskim, z nazwami marek tam, gdzie to możliwe
  • Kalorie — zawartość energii w kilokaloriach (kcal) na 100 gramów i na porcję
  • Makroskładniki — białko, całkowita zawartość tłuszczu, tłuszcz nasycony, tłuszcz trans, całkowite węglowodany, błonnik pokarmowy, całkowite cukry i dodane cukry, wszystko w gramach
  • Mikroskładniki — ponad 30 witamin i minerałów, w tym witamina A, witamina C, witamina D, witamina E, witamina K, tiamina, ryboflawina, niacyna, witamina B6, kwas foliowy, witamina B12, wapń, żelazo, magnez, fosfor, potas, sód, cynk, miedź, mangan, selen i inne
  • Wielkości porcji — opis standardowej wielkości porcji (np. "1 średnie jabłko", "1 szklanka ugotowanego ryżu"), waga porcji w gramach oraz do trzech alternatywnych wielkości porcji dla każdego produktu
  • Kategoria żywności — hierarchiczna klasyfikacja według naszej wewnętrznej taksonomii (np. Nabiał > Ser > Ser twardy)
  • Kraj pochodzenia — główny kraj lub region, w którym produkt spożywczy jest sprzedawany lub składnik jest powszechnie spożywany
  • Kod kreskowy (gdzie dostępny) — kody UPC lub EAN dla produktów markowych
  • Tagi źródła danych — wskaźniki pochodzenia pokazujące, czy wpis pochodzi z rządowych baz danych, danych producenta, analizy laboratoryjnej czy naszego wewnętrznego zespołu weryfikacyjnego

Przykładowe Dane

Oto wybrane wpisy z zestawu danych, aby dać Ci poczucie struktury i szczegółowości:

food_id food_name category country calories_per_100g protein_g fat_g carbs_g fiber_g serving_desc serving_g
NF-001247 Pierś z kurczaka, surowa, bez skóry Drób > Kurczak US 120 22.5 2.6 0.0 0.0 1 pierś (174g) 174
NF-008391 Fage Total 0% Jogurt Grecki Nabiał > Jogurt > Grecki GR 54 10.3 0.0 3.0 0.0 1 pojemnik (150g) 150
NF-014205 Ryż Basmati, biały, gotowany Zboża > Ryż IN 130 2.7 0.3 28.2 0.4 1 szklanka (158g) 158
NF-022876 Awokado, Hass, surowe Owoce > Tropikalne MX 160 2.0 14.7 8.5 6.7 1/2 awokado (68g) 68
NF-031560 Makaron Barilla Penne Rigate, suchy Makaron > Suchy IT 359 12.5 2.0 71.2 3.0 2 uncje (56g) 56
NF-045892 Kimchi, tradycyjna kapusta Napa Warzywa > Fermentowane KR 15 1.1 0.5 2.4 1.6 1/2 szklanki (75g) 75
NF-053714 Łosoś atlantycki, surowy, hodowlany Ryby > Łosoś NO 208 20.4 13.4 0.0 0.0 1 filet (113g) 113
NF-067283 Ciecierzyca, konserwowa, odsączona Rośliny strączkowe > Fasola US 119 6.3 2.0 18.2 5.4 1/2 szklanki (120g) 120

Pełny zestaw danych zawiera wiele więcej kolumn dla mikroskładników, alternatywnych wielkości porcji, danych kodów kreskowych i tagów źródła. Powyższa tabela pokazuje podstawowe pola żywieniowe.

Format Danych

Zestaw danych jest dostępny w dwóch formatach:

CSV

Plik CSV używa kodowania UTF-8 z przecinkami jako separatorami. Pierwszy wiersz zawiera nagłówki kolumn. Pola zawierające przecinki są zamknięte w podwójnych cudzysłowach. Puste wartości są reprezentowane jako puste pola.

Format CSV jest idealny do narzędzi arkuszy kalkulacyjnych, takich jak Excel i Google Sheets, oprogramowania statystycznego, takiego jak R i SPSS, oraz szybkiego eksplorowania danych za pomocą narzędzi wiersza poleceń, takich jak csvkit lub xsv.

Plik: nutrola-open-food-dataset-v3.csv (około 210 MB po rozpakowaniu, 48 MB w formacie gzipped)

JSON

Plik JSON zawiera tablicę obiektów, po jednym dla każdego wpisu o żywności. Zagnieżdżone obiekty są używane dla złożonych pól, takich jak wielkości porcji (które zawierają opis, wagę w gramach oraz równoważnik w mililitrach, gdzie to możliwe) oraz profile mikroskładników.

Format JSON jest lepiej dostosowany do rozwoju aplikacji, importu do baz danych i wszelkich procesów roboczych, w których musisz zachować hierarchiczną strukturę wielkości porcji i grup składników odżywczych.

Plik: nutrola-open-food-dataset-v3.json (około 340 MB po rozpakowaniu, 62 MB w formacie gzipped)

Oba pliki są również dostępne jako archiwa skompresowane gzip, aby skrócić czas pobierania.

Schemat Danych

Oto pełny schemat z opisami każdego pola w zestawie danych:

Nazwa pola Typ Opis
food_id string Unikalny identyfikator Nutrola dla wpisu o żywności (format: NF-XXXXXX)
food_name string Powszechna nazwa żywności, w tym marka, gdzie to możliwe
category_l1 string Kategoria żywności na najwyższym poziomie (np. Nabiał, Zboża, Owoce)
category_l2 string Kategoria drugiego poziomu (np. Ser, Ryż, Tropikalne)
category_l3 string Kategoria trzeciego poziomu, gdzie to możliwe (np. Ser twardy, Ryż brązowy)
country string Kod kraju ISO 3166-1 alpha-2 wskazujący na główny rynek
brand string Nazwa marki dla produktów markowych; null dla produktów ogólnych
barcode string Kod kreskowy UPC/EAN; null, jeśli nie dotyczy
calories_per_100g float Energia w kcal na 100 gramów
protein_g float Białko w gramach na 100g
fat_total_g float Całkowita zawartość tłuszczu w gramach na 100g
fat_saturated_g float Tłuszcz nasycony w gramach na 100g
fat_trans_g float Tłuszcz trans w gramach na 100g
carbs_total_g float Całkowite węglowodany w gramach na 100g
fiber_g float Błonnik pokarmowy w gramach na 100g
sugars_total_g float Całkowite cukry w gramach na 100g
sugars_added_g float Dodane cukry w gramach na 100g
sodium_mg float Sód w miligramach na 100g
cholesterol_mg float Cholesterol w miligramach na 100g
vitamin_a_mcg float Witamina A w mikrogramach RAE na 100g
vitamin_c_mg float Witamina C w miligramach na 100g
vitamin_d_mcg float Witamina D w mikrogramach na 100g
calcium_mg float Wapń w miligramach na 100g
iron_mg float Żelazo w miligramach na 100g
potassium_mg float Potas w miligramach na 100g
magnesium_mg float Magnez w miligramach na 100g
zinc_mg float Cynk w miligramach na 100g
phosphorus_mg float Fosfor w miligramach na 100g
selenium_mcg float Selen w mikrogramach na 100g
vitamin_b6_mg float Witamina B6 w miligramach na 100g
vitamin_b12_mcg float Witamina B12 w mikrogramach na 100g
folate_mcg float Kwas foliowy w mikrogramach DFE na 100g
vitamin_e_mg float Witamina E w miligramach na 100g
vitamin_k_mcg float Witamina K w mikrogramach na 100g
thiamin_mg float Tiamina (B1) w miligramach na 100g
riboflavin_mg float Ryboflawina (B2) w miligramach na 100g
niacin_mg float Niacyna (B3) w miligramach na 100g
copper_mg float Miedź w miligramach na 100g
manganese_mg float Mangan w miligramach na 100g
serving_1_desc string Opis głównej wielkości porcji (np. "1 szklanka ugotowanego ryżu")
serving_1_g float Waga głównej wielkości porcji w gramach
serving_2_desc string Opis alternatywnej wielkości porcji; null, jeśli nie dostępna
serving_2_g float Waga alternatywnej wielkości porcji w gramach
serving_3_desc string Opis drugiej alternatywnej wielkości porcji; null, jeśli nie dostępna
serving_3_g float Waga drugiej alternatywnej wielkości porcji w gramach
data_source string Tag pochodzenia: "government", "manufacturer", "laboratory" lub "verified_community"
last_verified string Data ISO 8601, kiedy wpis został ostatnio zweryfikowany (RRRR-MM-DD)
dataset_version string Identyfikator wersji zestawu danych (np. "v3.0")

Wszystkie wartości składników odżywczych są wyrażone na 100 gramów, aby umożliwić spójne porównania. Aby obliczyć składniki odżywcze na porcję, pomnóż wartość na 100g przez wagę porcji w gramach i podziel przez 100.

Jak Pobierać

Zestaw danych jest hostowany w naszym publicznym repozytorium GitHub:

github.com/nutrola/open-food-nutrition-dataset

Możesz pobrać pliki bezpośrednio z strony wydań GitHub lub sklonować repozytorium:

git clone https://github.com/nutrola/open-food-nutrition-dataset.git

Dla wersji skompresowanych:

# Pobierz CSV (skompresowany gzip)
wget https://github.com/nutrola/open-food-nutrition-dataset/releases/latest/download/nutrola-open-food-dataset-v3.csv.gz

# Pobierz JSON (skompresowany gzip)
wget https://github.com/nutrola/open-food-nutrition-dataset/releases/latest/download/nutrola-open-food-dataset-v3.json.gz

Repozytorium zawiera również:

  • Szczegółowy README.md z instrukcjami na początek
  • CHANGELOG.md dokumentujący zmiany między wersjami zestawu danych
  • Katalog scripts/ z przykładami skryptów w Pythonie i R do ładowania, filtrowania i analizowania danych
  • Katalog schema/ z definicjami schematu JSON i dialektu CSV

Jeśli potrzebujesz pełnej bazy danych z ponad 3 milionami wpisów z aktualizacjami w czasie rzeczywistym, zobacz nasz Nutrition Data API dla dostępu dla deweloperów.

Przykłady Zastosowania

Badania Akademickie

Badacze żywienia mogą wykorzystać zestaw danych do analizy wzorców żywieniowych, modelowania epidemiologicznego i badań gęstości składników odżywczych bez spędzania tygodni na oczyszczaniu i scalaniu rządowych plików danych. Hierarchiczny system kategorii ułatwia filtrowanie według grup żywności, a pole kraju umożliwia porównania międzykulturowe.

Opublikowane badania wykorzystujące zestaw danych powinny go cytować jako: Nutrola Open Food Nutrition Dataset, v3.0 (2026). Dostępne pod adresem github.com/nutrola/open-food-nutrition-dataset. Licencjonowane na zasadach CC BY-SA 4.0.

Rozwój Aplikacji

Programiści tworzący aplikacje związane ze zdrowiem, fitness lub żywnością mogą wykorzystać zestaw danych jako lokalną bazę danych żywności. Spójny schemat i dane dotyczące wielkości porcji oznaczają, że można zbudować funkcjonalność rejestrowania żywności bez polegania na połączeniu z API na żywo. Jest to szczególnie przydatne dla aplikacji mobilnych działających offline, prototypowania i projektów hackathonowych.

Format CSV ładowany jest bezpośrednio do SQLite, PostgreSQL lub dowolnej bazy danych relacyjnej. Format JSON dobrze pasuje do magazynów dokumentów, takich jak MongoDB lub Firestore.

Nauka o Danych i Uczenie Maszynowe

Zestaw danych jest dobrze przystosowany do trenowania i oceny modeli uczenia maszynowego związanych z żywnością i żywieniem. Typowe zastosowania obejmują:

  • Modele klasyfikacji żywności — wykorzystaj hierarchię kategorii jako etykiety treningowe do budowy klasyfikatorów, które przewidują kategorie żywności na podstawie nazw lub profili żywieniowych
  • Szacowanie wartości odżywczych — trenuj modele regresji, które przewidują zawartość kalorii lub makroskładników na podstawie częściowych informacji (np. szacowanie kalorii na podstawie proporcji białka, tłuszczu i węglowodanów)
  • Systemy rekomendacji — buduj silniki rekomendacji żywności, które sugerują żywność o podobnych wartościach odżywczych
  • Wykrywanie anomalii — identyfikuj nietypowe profile żywieniowe, które mogą wskazywać na problemy z jakością danych w innych zestawach danych

Edukacja

Studenci nauk o żywieniu i nauczyciele mogą wykorzystać zestaw danych do zajęć, laboratoriów i zadań. Szeroki zakres danych — obejmujący żywność z dziesiątek krajów i wszystkie główne grupy żywności — czyni go użytecznym do nauczania koncepcji takich jak proporcje makroskładników, gęstość mikroskładników oraz jak profile żywieniowe różnią się w zależności od kuchni i poziomów przetworzenia żywności.

Zdrowie Publiczne i Polityka

Organizacje zdrowia publicznego mogą wykorzystać dane do analizy krajobrazu żywieniowego określonych kategorii żywności lub rynków. Pole kraju umożliwia filtrowanie według regionu, a pole marki pozwala na analizę jakości żywienia produktów markowych w porównaniu do ogólnych.

Metodologia Jakości Danych

Udostępnienie otwartego zestawu danych nie ma sensu, jeśli dane nie są wiarygodne. Oto jak zapewniamy jakość w ponad 500 000 wpisach w tej wersji.

Weryfikacja z Wielu Źródeł

Każdy wpis w zestawie danych został zweryfikowany na podstawie co najmniej dwóch niezależnych źródeł. Nasze główne źródła danych obejmują:

  • Rządowe bazy danych żywieniowych — USDA FoodData Central (Stany Zjednoczone), CoFID (Wielka Brytania), NUTTAB (Australia), CNF (Kanada) oraz równoważne bazy danych z ponad 20 krajów
  • Dane dostarczone przez producentów — etykiety wartości odżywczych przesyłane bezpośrednio przez producentów żywności w ramach naszego programu współpracy z markami
  • Analiza laboratoryjna — niezależne testy laboratoryjne przeprowadzane przez nasz zespół dla żywności o dużej objętości, gdzie dane źródłowe są sprzeczne lub przestarzałe
  • Zweryfikowane zgłoszenia społeczności — wpisy przesyłane przez użytkowników, które przeszły nasz trzyetapowy proces weryfikacji (automatyczne porównanie, przegląd ekspertów i wykrywanie statystycznych wartości odstających)

Automatyczne Kontrole Jakości

Każdy wpis przechodzi przez szereg automatycznych kontroli przed wejściem do zestawu danych:

  • Walidacja bilansu energetycznego — liczba kalorii jest porównywana z obliczeniami Atwatera (4 kcal/g białka + 9 kcal/g tłuszczu + 4 kcal/g węglowodanów). Wpisy, w których podane kalorie różnią się od obliczonej wartości o więcej niż 10%, są oznaczane do ręcznej weryfikacji.
  • Kontrole zakresu — każda wartość składnika odżywczego jest walidowana w odniesieniu do fizjologicznie możliwych zakresów dla danej kategorii żywności. Wpis dotyczący sera, który twierdzi, że ma 0 gramów tłuszczu, lub wpis dotyczący owoców, który twierdzi, że ma 50 gramów białka, zostaje natychmiast oznaczony.
  • Spójność między wpisami — podobne produkty są porównywane statystycznie. Jeśli nowy wpis o piersi z kurczaka ma znacząco różne wartości od istniejącego zbioru wpisów o piersiach z kurczaka, jest zatrzymywany do przeglądu.
  • Walidacja wielkości porcji — wagi porcji są sprawdzane w odniesieniu do znanych standardowych porcji. "1 średnie jabłko" ważące 500 gramów nie przechodzi.

Ręczny Przegląd

Wpisy oznaczone przez automatyczne kontrole przechodzą ręczny przegląd przez nasz zespół danych, który obejmuje wykwalifikowanych specjalistów ds. żywienia i naukowców żywności. Około 12% wpisów wymaga jakiejś formy ręcznej korekty przed zatwierdzeniem.

Ciągła Konserwacja

Zestaw danych to nie jednorazowe zrzut. Weryfikujemy wpisy na bieżąco, priorytetowo traktując produkty o dużej objętości (najczęściej rejestrowane przez użytkowników Nutrola) oraz wpisy, których dane źródłowe zostały zaktualizowane. Gdy producent żywności reformuluje produkt, wychwytujemy zmianę dzięki naszemu systemowi monitorowania kodów kreskowych i aktualizujemy wpis odpowiednio.

Częstotliwość Aktualizacji

Publikujemy nowe wersje otwartego zestawu danych co kwartał. Każde wydanie zawiera:

  • Nowe wpisy o żywności dodane od poprzedniej wersji
  • Korekty istniejących wpisów zidentyfikowanych w ramach naszego monitorowania jakości
  • Zaktualizowane dane żywieniowe dla reformulowanych produktów
  • Rozszerzoną pokrycie mikroskładników, gdy nowe dane źródłowe stają się dostępne

Obecna wersja to v3.0, wydana w marcu 2026. Historia wersji i dzienniki zmian są dostępne w repozytorium GitHub.

Jeśli potrzebujesz danych aktualizowanych częściej niż co kwartał, nasze Nutrition Data API odzwierciedla zmiany w ciągu 48 godzin.

Licencja

Otwarty Zestaw Danych o Żywności Nutrola jest wydany na zasadach Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0).

Oznacza to, że możesz:

  • Dzielić się — kopiować i rozpowszechniać zestaw danych w dowolnym medium lub formacie
  • Dostosowywać — remiksować, przekształcać i budować na podstawie zestawu danych w dowolnym celu, w tym do użytku komercyjnego

Na następujących warunkach:

  • Uznanie — musisz odpowiednio przypisać autorstwo Nutrola, podać link do licencji i wskazać, czy dokonano zmian
  • Na tych samych zasadach — jeśli remiksujesz, przekształcasz lub budujesz na podstawie zestawu danych, musisz rozpowszechniać swoje wkłady na tych samych zasadach CC BY-SA 4.0

Wybraliśmy CC BY-SA 4.0, ponieważ zapewnia odpowiednią równowagę między otwartością a zapewnieniem, że ulepszenia wracają do społeczności. Jeśli stworzysz lepszą wersję tych danych, licencja zapewnia, że Twoje ulepszenia pozostaną dostępne dla wszystkich innych.

Jak Wypada w Porównaniu do Innych Zestawów Danych

Istnieje kilka publicznie dostępnych zestawów danych o żywieniu. Oto jak Otwarty Zestaw Danych o Żywności Nutrola wypada w porównaniu do dwóch najczęściej używanych alternatyw.

vs. USDA FoodData Central

USDA FoodData Central to złoty standard danych żywieniowych w Stanach Zjednoczonych. Jest dokładny, dobrze udokumentowany i oparty na analizie laboratoryjnej. Ma jednak ograniczenia, które adresuje zestaw danych Nutrola:

Wymiar USDA FoodData Central Otwarty Zestaw Danych Nutrola
Łączna liczba wpisów ~400 000 (Fundacja, SR Legacy, Branded razem) 500 000+
Zasięg geograficzny Głównie Stany Zjednoczone 47 krajów
Produkty markowe Tylko marki amerykańskie, często przestarzałe Międzynarodowe marki, weryfikowane kwartalnie
Format danych Wiele niekompatybilnych formatów plików, złożona struktura relacyjna Pojedynczy plik CSV lub JSON, płaska struktura
Wielkości porcji Niespójne w różnych podbazach Ustandaryzowany format z maksymalnie 3 porcjami na produkt
Łatwość użycia Wymaga znacznego inżynierii danych do scalania podbaz Pobierz jeden plik i zacznij pracować
Częstotliwość aktualizacji Zróżnicowana w zależności od podbazy (rocznie dla niektórych) Kwartalnie

Jeśli Twoja praca koncentruje się wyłącznie na produktach amerykańskich i potrzebujesz najgłębszego możliwego profilu składników odżywczych (USDA obejmuje ponad 150 składników odżywczych dla produktów Fundacji), FoodData Central jest lepszym wyborem. Jeśli potrzebujesz międzynarodowego zasięgu, spójnego formatowania i zestawu danych, który działa od razu, zestaw danych Nutrola jest silniejszą opcją.

Oba zestawy danych są komplementarne. Wielu badaczy korzysta z danych Fundacji USDA do szczegółowej analizy składników odżywczych w USA i uzupełnia je danymi Nutrola dla międzynarodowego zasięgu i produktów markowych.

vs. Open Food Facts

Open Food Facts to baza danych oparta na społeczności z ponad 3 milionami wpisów. Ma imponującą skalę i obejmuje produkty z wielu krajów. Jednak jej charakter oparty na społeczności wprowadza wyzwania związane z jakością danych:

Wymiar Open Food Facts Otwarty Zestaw Danych Nutrola
Łączna liczba wpisów 3M+ 500 000+
Jakość danych Zmienna — oparta na społeczności z automatycznymi kontrolami Zweryfikowane — weryfikacja z wielu źródeł, przegląd przez ludzi
Kompletność Wiele wpisów brakuje danych makro/mikro Wszystkie wpisy mają pełne dane makro; 90%+ ma pełne profile mikro
Wielkości porcji Niespójne, często brakujące Ustandaryzowane, zawsze obecne
Taksonomia kategorii Tagowanie oparte na społeczności, niespójne Hierarchiczna, starannie dobrana taksonomia
Pokrycie składników odżywczych Zmienia się w zależności od wpisu Spójne 40+ składników odżywczych we wszystkich wpisach
Format danych Zrzut MongoDB, złożony zagnieżdżony JSON Czysty CSV i JSON
Licencja Open Database License (ODbL) CC BY-SA 4.0

Open Food Facts wyróżnia się szerokim zakresem — jeśli potrzebujesz znaleźć konkretny, nieznany produkt po kodzie kreskowym, prawdopodobnie go mają. Zestaw danych Nutrola wyróżnia się głębokością i spójnością — każdy wpis spełnia ten sam standard jakości, co czyni go bardziej wiarygodnym do analizy ilościowej, gdzie luki w danych lub błędy mogą zniekształcać wyniki.

Jeśli budujesz aplikację skanującą kody kreskowe i potrzebujesz maksymalnego pokrycia produktów, Open Food Facts jest dobrym punktem wyjścia. Jeśli trenujesz model uczenia maszynowego, przeprowadzasz badania statystyczne lub budujesz aplikację, w której dokładność żywieniowa ma znaczenie, zweryfikowane dane zestawu Nutrola będą stanowić silniejszą podstawę.

Jak Zacząć

Po pobraniu zestawu danych oto szybki przykład ładowania i eksploracji w Pythonie:

import pandas as pd

# Ładowanie zestawu danych
df = pd.read_csv("nutrola-open-food-dataset-v3.csv")

# Podstawowy przegląd
print(f"Liczba wpisów: {len(df):,}")
print(f"Kraje objęte: {df['country'].nunique()}")
print(f"Kategorie żywności (L1): {df['category_l1'].nunique()}")

# Znajdź produkty wysokobiałkowe, niskokaloryczne
high_protein = df[
    (df["protein_g"] > 20) &
    (df["calories_per_100g"] < 150)
].sort_values("protein_g", ascending=False)

print(high_protein[["food_name", "calories_per_100g", "protein_g"]].head(10))
# Analizuj średnie makroskładniki według kategorii żywności
category_macros = df.groupby("category_l1").agg({
    "calories_per_100g": "mean",
    "protein_g": "mean",
    "fat_total_g": "mean",
    "carbs_total_g": "mean"
}).round(1)

print(category_macros.sort_values("calories_per_100g", ascending=False))

Więcej przykładów — w tym skrypty R, przewodniki importu SQL i notatniki Jupyter — jest dostępnych w katalogu scripts/ repozytorium GitHub.

Najczęściej Zadawane Pytania

Czy zestaw danych jest naprawdę darmowy do użycia?

Tak. Otwarty Zestaw Danych o Żywności Nutrola jest wydany na zasadach licencji CC BY-SA 4.0, która zezwala na użycie komercyjne i niekomercyjne. Jedynym wymaganiem jest przypisanie autorstwa Nutrola jako źródła oraz to, że wszelkie pochodne zestawy danych, które rozpowszechniasz, muszą być licencjonowane na tych samych zasadach. Nie ma kluczy API, limitów użycia ani wymaganej rejestracji do pobrania plików.

Jak często aktualizowany jest zestaw danych?

Publikujemy nowe wersje kwartalnie. Każde wydanie dodaje nowe wpisy o żywności, koryguje wszelkie błędy zidentyfikowane od poprzedniej wersji i aktualizuje wpisy dla produktów, które zostały reformulowane. Strona wydań repozytorium GitHub zawiera pełną historię wersji, a Ty możesz obserwować repozytorium, aby być powiadamianym o nowych wersjach.

Czy mogę użyć tego zestawu danych do budowy komercyjnej aplikacji?

Tak. Licencja CC BY-SA 4.0 wyraźnie zezwala na użycie komercyjne. Możesz używać danych w płatnej aplikacji, produkcie SaaS lub w jakimkolwiek innym kontekście komercyjnym. Musisz uwzględnić przypisanie autorstwa Nutrola w swojej aplikacji lub dokumentacji, a jeśli rozpowszechniasz zmodyfikowaną wersję samego zestawu danych, zmodyfikowana wersja musi być również licencjonowana na zasadach CC BY-SA 4.0. Użycie danych w swojej aplikacji (bez rozpowszechniania surowego zestawu danych) nie wywołuje wymogu ShareAlike.

Dlaczego tylko 500K wpisów, gdy pełna baza danych Nutrola ma ponad 3 miliony?

Otwarty zestaw danych zawiera wpisy, które możemy udostępnić na zasadach otwartej licencji bez ograniczeń. Nasza pełna baza danych zawiera dane z źródeł zastrzeżonych — bezpośrednie partnerstwa z producentami, licencjonowane dane laboratoryjne i inne źródła z ograniczeniami umownymi dotyczącymi redystrybucji. 500K wpisów w otwartym zestawie danych pochodzi z rządowych baz danych, naszej własnej analizy laboratoryjnej oraz zgłoszeń społecznościowych, gdzie uczestnicy zgodzili się na otwarte licencjonowanie. Jeśli potrzebujesz dostępu do pełnej bazy danych, nasze Nutrition Data API udostępnia ją na osobnych warunkach komercyjnych.

Co powinienem zrobić, jeśli znajdę błąd w zestawie danych?

Otwórz zgłoszenie w repozytorium GitHub z food_id dotkniętego wpisu i opisem błędu. Dołącz link do źródła, jeśli go masz (np. strona internetowa producenta pokazująca inne dane żywieniowe). Nasz zespół danych przegląda zgłoszone problemy co tydzień, a potwierdzone poprawki są uwzględniane w następnej kwartalnej wersji. W przypadku pilnych poprawek możemy wprowadzić poprawkę między kwartalnymi aktualizacjami.

Jak to się ma do Nutrola Nutrition Data API?

Otwarty zestaw danych to statyczny kwartalny zrzut starannie wybranego podzbioru naszej bazy danych. API zapewnia dostęp w czasie rzeczywistym do pełnej bazy danych z ponad 3 milionami wpisów z funkcjami wyszukiwania, filtrowania, wyszukiwania kodów kreskowych i innymi. Myśl o otwartym zestawie danych jako o podstawie do zastosowań offline lub wsadowych, a API jako o rozwiązaniu dla aplikacji produkcyjnych, które potrzebują danych na żywo. Wielu deweloperów zaczyna od otwartego zestawu danych do prototypowania i przechodzi do API, gdy przechodzą do produkcji.

Gotowy, aby przeksztalcic sledzenie zywienia?

Dolacz do tysiecy osob, ktore przeksztalcily swoja podroz zdrowotna z Nutrola!