In [1]:
import pandas as pd
import numpy as np
In [59]:
df = pd.read_csv('DS_main.csv')
df1 = pd.read_csv('DS_main_1.csv')
df2 = pd.read_csv('DS_main_2.csv')
df3 = pd.read_csv('DS_main_3.csv')
In [60]:
print df.shape
df.head(3)
Out[60]:
In [61]:
df = df.drop('Unnamed: 0', 1)
In [62]:
print df1.shape
df1 = df1.drop('Unnamed: 0', 1)
df1.head(3)
Out[62]:
In [63]:
print df2.shape
df2 = df2.drop('Unnamed: 0', 1)
df2.head(3)
Out[63]:
In [64]:
print df3.shape
df3 = df3.drop('Unnamed: 0', 1)
df3.head(3)
Out[64]:
In [65]:
#concatenate the main tables.
DS_main= pd.concat([df, df1, df2, df3])
#create a new dataframe with selected columns
DS_main_reduced = DS_main.drop(['recipeName', 'sourceDisplayName'], axis = 1)
In [66]:
#peek at dataframe
print DS_main.shape
DS_main.head(3)
Out[66]:
In [67]:
for i in DS_main.duplicated('id'):
if i == True:
print i
DS_main = DS_main.drop_duplicates('id')
DS_main.shape
Out[67]:
In [68]:
fdf = pd.read_csv('DS_flavors.csv')
fdf1 = pd.read_csv('DS_flavors_1.csv')
fdf2 = pd.read_csv('DS_flavors_2.csv')
fdf3 = pd.read_csv('DS_flavors_3.csv')
In [69]:
print fdf.shape
fdf = fdf.drop('Unnamed: 0', 1)
fdf = fdf.rename(columns = {'index':'id'})
fdf.head(3)
Out[69]:
In [70]:
print fdf1.shape
fdf1 = fdf1.drop('Unnamed: 0', 1)
fdf1 = fdf1.rename(columns = {'index':'id'})
fdf1.head(3)
Out[70]:
In [71]:
print fdf2.shape
fdf2 = fdf2.drop('Unnamed: 0', 1)
fdf2 = fdf2.rename(columns = {'index':'id'})
fdf2.head(3)
Out[71]:
In [72]:
print fdf3.shape
fdf3 = fdf3.drop('Unnamed: 0', 1)
fdf3 = fdf3.rename(columns = {'index':'id'})
fdf3.head(3)
Out[72]:
In [73]:
#concatenate the flavor tables.
DS_flavors= pd.concat([fdf, fdf1, fdf2, fdf3])
In [74]:
#peek at dataframe
print DS_flavors.shape
DS_flavors.head(3)
Out[74]:
In [75]:
for i in DS_flavors.duplicated('id'):
if i == True:
print i
DS_flavors = DS_flavors.drop_duplicates('id')
DS_flavors.shape
Out[75]:
In [76]:
cdf = pd.read_csv('DS_cuisines.csv')
cdf1 = pd.read_csv('DS_cuisines_1.csv')
cdf2 = pd.read_csv('DS_cuisines_2.csv')
cdf3 = pd.read_csv('DS_cuisines_3.csv')
In [77]:
print cdf.shape
cdf = cdf.drop('Unnamed: 0', 1)
cdf = cdf.rename(columns = {'index':'id'})
print cdf.columns
cdf.head(3)
Out[77]:
In [78]:
print cdf1.shape
cdf1 = cdf1.drop('Unnamed: 0', 1)
cdf1 = cdf1.rename(columns = {'index':'id'})
print cdf1.columns
cdf1.head(3)
Out[78]:
In [79]:
print cdf2.shape
cdf2 = cdf2.drop('Unnamed: 0', 1)
cdf2 = cdf2.rename(columns = {'index':'id'})
print cdf2.columns
cdf2.head(3)
Out[79]:
In [80]:
print cdf3.shape
cdf3 = cdf3.drop('Unnamed: 0', 1)
cdf3 = cdf3.rename(columns = {'index':'id'})
print cdf3.columns
cdf3.head(3)
Out[80]:
In [81]:
#concatenate the cuisines tables.
DS_cuisines= pd.concat([cdf, cdf1, cdf2, cdf3])
In [82]:
#peek at dataframe
print DS_cuisines.shape
DS_cuisines.head(3)
Out[82]:
In [83]:
for i in DS_cuisines.duplicated('id'):
if i == True:
print i
DS_cuisines = DS_cuisines.drop_duplicates('id')
DS_cuisines.shape
Out[83]:
In [84]:
ddf = pd.read_csv('DS_details.csv')
ddf1 = pd.read_csv('DS_details_1.csv')
ddf2 = pd.read_csv('DS_details_2.csv')
ddf3 = pd.read_csv('DS_details_3.csv')
In [85]:
print ddf.shape
ddf = ddf.drop('Unnamed: 0', 1)
print ddf.columns
ddf.head(3)
Out[85]:
In [86]:
print ddf1.shape
ddf1 = ddf1.drop('Unnamed: 0', 1)
print ddf1.columns
ddf1.head(3)
Out[86]:
In [87]:
print ddf2.shape
ddf2 = ddf2.drop('Unnamed: 0', 1)
print ddf2.columns
ddf2.head(3)
Out[87]:
In [88]:
print ddf3.shape
ddf3 = ddf3.drop('Unnamed: 0', 1)
print ddf3.columns
ddf3.head(3)
Out[88]:
In [89]:
#concatenate the detail tables.
DS_details= pd.concat([ddf, ddf1, ddf2, ddf3])
In [90]:
#peek at dataframe
print DS_details.shape
DS_details.head(3)
Out[90]:
In [91]:
for i in DS_details.duplicated('id'):
if i == True:
print i
DS_details = DS_details.drop_duplicates('id')
DS_details.shape
Out[91]:
In [92]:
idf = pd.read_csv('DS_ingredients.csv')
idf1 = pd.read_csv('DS_ingredients_1.csv')
idf2 = pd.read_csv('DS_ingredients_2.csv')
idf3 = pd.read_csv('DS_ingredients_3.csv')
In [93]:
print idf.shape
idf = idf.drop('Unnamed: 0', 1)
print idf.columns
idf.head(3)
Out[93]:
In [94]:
print idf1.shape
idf1 = idf1.drop('Unnamed: 0', 1)
print idf1.columns
idf1.head(3)
Out[94]:
In [95]:
print idf2.shape
idf2 = idf2.drop('Unnamed: 0', 1)
print idf2.columns
idf2.head(3)
Out[95]:
In [96]:
print idf3.shape
idf3 = idf3.drop('Unnamed: 0', 1)
print idf3.columns
idf3.head(3)
Out[96]:
In [97]:
#concatenate the ingredients tables.
DS_ing= pd.concat([idf, idf1, idf2, idf3])
#create a new dataframe with selected columns
DS_ing_reduced = DS_ing[['id', 'ingredient_list']]
In [98]:
DS_ing.head(3)
Out[98]:
In [99]:
#make id first column
cols = list(DS_ing)
cols.insert(0, cols.pop(cols.index('id')))
DS_ing = DS_ing.ix[:, cols]
In [100]:
DS_ing.head(3)
Out[100]:
In [101]:
for i in DS_ing.duplicated('id'):
if i == True:
print i
DS_ing = DS_ing.drop_duplicates('id')
DS_ing.shape
Out[101]:
In [102]:
# set index to column 'id'
_df = [DS_main, DS_main_reduced, DS_cuisines, DS_flavors, DS_details, DS_ing, DS_ing_reduced]
for df in _df:
df.set_index('id', inplace = True)
In [105]:
# join dataframes
DS_data = DS_main.join([DS_cuisines, DS_flavors, DS_details, DS_ing])
DS_data_reduced = DS_main_reduced.join([DS_flavors, DS_details, DS_ing_reduced])
# create a course column
DS_data['course'] = 'dessert'
DS_data_reduced ['course'] = 'dessert'
In [106]:
DS_data.shape
Out[106]:
In [107]:
# save into csv
DS_data.to_csv('DS_data.csv')
DS_data_reduced.to_csv('DS_data_reduced.csv')