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.
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.mdz instrukcjami na początek CHANGELOG.mddokumentują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!