non-null values dtypesfloat ( )int ( )object( with all of this donewe're ready to merge info with nutrientsin [ ]ndata pd merge(nutrientsinfoon='id'how='outer'in [ ]ndata out[ ]int index entries to data columnsnutrient non-null values nutgroup non-null values units non-null values value non-null values id non-null values food non-null values fgroup non-null values manufacturer non-null values dtypesfloat ( )int ( )object( in [ ]ndata ix[ out[ ]nutrient folic acid nutgroup vitamins units mcg value id food ostrichtop loincooked fgroup poultry products manufacturer name the tools that you need to slice and diceaggregateand visualize this dataset will be explored in detail in the next two so after you get handle on those methods you might return to this dataset for examplewe could plot of median values by food group and nutrient type (see figure - )in [ ]result ndata groupby(['nutrient''fgroup'])['value'quantile( in [ ]result['zinczn'order(plot(kind='barh'with little clevernessyou can find which food is most dense in each nutrientby_nutrient ndata groupby(['nutgroup''nutrient']get_maximum lambda xx xs( value idxmax()get_minimum lambda xx xs( value idxmin()max_foods by_nutrient apply(get_maximum)[['value''food']make the food little smaller max_foods food max_foods food str[: data wranglingcleantransformmergereshape www it-ebooks info