https://github.com/ajayvd/DOUBT_SO/blob/main/doubt.csv
The above link contains the data frame and it contains 2 columns response_value & response_errors & The response_errors contains the value in list of dictionaries .
problem statement
so here i want to iterate only the provider key and store them next to it in a column in form of list
for example :
for row 1 it will be [ shipt ]
for row 2 [ shipt ]
for row 3 [ doordash , pickupnow , roadie ]
you would be required to do preprocessing , so i am attaching the snippet below .
def parse_json(webhook_data):
try:
data = json.loads(webhook_data)
except ValueError as ex:
data={'estimate':'error'}
return data
data_metering['RESPONSE_ERRORS']=data_metering['RESPONSE_ERRORS'].apply(parse_json)
custom function which i code , please modify the code and tell me the optimised way to do it.
def traverse_dsp(data_frame,column):
provider = []
#Iterate over each row in Dataframe
for index, row in data_frame.iterrows():
# Iterate over each json object in each row in DataFrame
for i in range(0,len(row[column])):
for k,v in row[column][i].items():
if k=="provider":
provider_val=v
x.loc[index,"provider_list"]=provider
x=data_metering
traverse_dsp(x,"RESPONSE_ERRORS")

IIUC, you can try this :
Output :