|
@@ -48,6 +48,8 @@ def convert_row(row):
|
|
return expressions
|
|
return expressions
|
|
|
|
|
|
def convert_list(val):
|
|
def convert_list(val):
|
|
|
|
+ if val is None:
|
|
|
|
+ return []
|
|
if '[' in val:
|
|
if '[' in val:
|
|
return val.split('[')[1].split(']')[0].split(',')
|
|
return val.split('[')[1].split(']')[0].split(',')
|
|
else:
|
|
else:
|
|
@@ -116,12 +118,12 @@ class SbtargetsBidRecommendations:
|
|
res = tem.iter_target_bidrecommendation(**i)
|
|
res = tem.iter_target_bidrecommendation(**i)
|
|
out_data.extend(list(res))
|
|
out_data.extend(list(res))
|
|
temtest = pd.json_normalize(out_data)
|
|
temtest = pd.json_normalize(out_data)
|
|
- temtest['targets'] = temtest['targets'].astype(str).str.lower()
|
|
|
|
- df_old['targets'] = df_old['targets'].astype(str).str.lower()
|
|
|
|
|
|
+ temtest['targets'] = temtest['targets'].fillna('').astype(str).str.lower()
|
|
|
|
+ df_old['targets'] = df_old['targets'].fillna('').astype(str).str.lower()
|
|
_ = pd.merge(left=df_old, right=temtest, on=['targets', 'campaignId'], how='left')
|
|
_ = pd.merge(left=df_old, right=temtest, on=['targets', 'campaignId'], how='left')
|
|
outall = _[['targetId', 'recommendedBid.rangeStart', 'recommendedBid.rangeEnd',
|
|
outall = _[['targetId', 'recommendedBid.rangeStart', 'recommendedBid.rangeEnd',
|
|
'recommendedBid.recommended']].copy()
|
|
'recommendedBid.recommended']].copy()
|
|
- outall = outall.dropna(subset=['recommendedBid.rangeEnd'])
|
|
|
|
|
|
+ # outall = outall.dropna(subset=['recommendedBid.rangeEnd'])
|
|
outall.rename(columns={'recommendedBid.recommended': 'suggestedBid',
|
|
outall.rename(columns={'recommendedBid.recommended': 'suggestedBid',
|
|
'recommendedBid.rangeStart': 'suggestedBid_lower',
|
|
'recommendedBid.rangeStart': 'suggestedBid_lower',
|
|
'recommendedBid.rangeEnd': 'suggestedBid_upper',
|
|
'recommendedBid.rangeEnd': 'suggestedBid_upper',
|