I have a problem with pandas DataFrame - I don't understand how I can create new rows and merge them with a dictionary.
My theoretical situation, that I have daily reports from salesmen, who check whether Network Name have particular Category Name on their shelfs. All salesmen simply fill the report and indicate their visit as VisitorID and if a Network Name don't have any Category Name they just don't write anything.
I need to create a new report, where missing Category Name will be filled with zeros.
For instanse, I have next report:
shops = [{'VisitorID': '1434', 'Network Name': 'Sela', 'Category Name': 'Fruits', 'Value': 10},
{'VisitorID': '1434', 'Network Name': 'Sela', 'Category Name': 'Tobacco', 'Value': 20},
{'VisitorID': '1301', 'Network Name': 'Sela', 'Category Name': 'Fruits', 'Value': 30},
{'VisitorID': '4012', 'Network Name': 'Mega', 'Category Name': 'Fruits', 'Value': 40},
{'VisitorID': '4012', 'Network Name': 'Mega', 'Category Name': 'Tobacco', 'Value': 50},
{'VisitorID': '4012', 'Network Name': 'Mega', 'Category Name': 'Vegetables', 'Value': 60},]
At the same time, I have a dictionary dataframe with Network Name and Category Name connection. Every Network Name must have next Category Name on their shelfs:
net_cat = [{'Network Name': 'Sela', 'Category Name': 'Fruits'},
{'Network Name': 'Sela', 'Category Name': 'Tobacco'},
{'Network Name': 'Sela', 'Category Name': 'Cosmetics'},
{'Network Name': 'Mega', 'Category Name': 'Paper'},
{'Network Name': 'Mega', 'Category Name': 'Vegetables'},
{'Network Name': 'Mega', 'Category Name': 'Tobacco'},
{'Network Name': 'Mega', 'Category Name': 'Fruits'}]
So, in result I want to have next dataframe:
output = [{'VisitorID': '1434', 'Network Name': 'Sela', 'Category Name': 'Fruits', 'Value': 10},
{'VisitorID': '1434', 'Network Name': 'Sela', 'Category Name': 'Tobacco', 'Value': 20},
{'VisitorID': '1434', 'Network Name': 'Sela', 'Category Name': 'Cosmetics', 'Value': 0},
{'VisitorID': '1301', 'Network Name': 'Sela', 'Category Name': 'Fruits', 'Value': 30},
{'VisitorID': '1301', 'Network Name': 'Sela', 'Category Name': 'Tobacco', 'Value': 0},
{'VisitorID': '1301', 'Network Name': 'Sela', 'Category Name': 'Paper', 'Value': 0},
{'VisitorID': '4012', 'Network Name': 'Mega', 'Category Name': 'Fruits', 'Value': 40},
{'VisitorID': '4012', 'Network Name': 'Mega', 'Category Name': 'Tobacco', 'Value': 50},
{'VisitorID': '4012', 'Network Name': 'Mega', 'Category Name': 'Vegetables', 'Value': 60},
{'VisitorID': '4012', 'Network Name': 'Mega', 'Category Name': 'Fruits', 'Value': 0},]
Thanks!


