Я пытался заменить значения в столбце на основе условия, предоставленного из файла json - PullRequest
0 голосов
/ 05 марта 2020

ФИНАЛ И ФИНАЛ2 - КОПИИ ВСЕХ ДРУГИХ

  Id_x  Start    End     From         To Price Per Ton Id_y BookingId Weight In tons Reference Price
0    1  43873  43881    Delhi  Bangalore             5    1         1              2      4000    10
1    1  43873  43881    Delhi  Bangalore             5    2         1              1      5000     5
2    2  43891  43908  Chennai  Hyderabad             6    3         2              1      2500     6
3    2  43891  43908  Chennai  Hyderabad             6    4         2              2      6000    12
4    2  43891  43908  Chennai  Hyderabad             6    5         2              1      4500     6

bookingPreference выглядит так:

{'data': [{'bookingId': '1', 'type': 'chocolate'}, {'bookingId': '1', 'category': 'dangerous'}, {'bookingId': '1', 'temperature': '10'}, {'bookingId': '2', 'rotated': False}, {'bookingId': '2', 'age': 15}, {'bookingId': '2', 'type': 'orange'}]}
with open('problem statement\\bookingPreferences.json') as f:
    content = json.load(f)

for c in content['data']:
    keys=list(c)
    final[keys[1]]=pd.Series()
    final2[keys[1]]=pd.Series()
    final[keys[1]]=np.where(final['BookingId']==int(c[keys[0]]),c[keys[1]],final[keys[1]])

    final2[keys[1]][final['BookingId']==int(c[keys[0]])]=c[keys[1]]
print(final)
print(final2)

Вывод:

  Id_x  Start    End     From         To Price Per Ton  ... Price    type   category temperature rotated   age
0    1  43873  43881    Delhi  Bangalore             5  ...    10     nan  dangerous          10     NaN   NaN
1    1  43873  43881    Delhi  Bangalore             5  ...     5     nan  dangerous          10     NaN   NaN
2    2  43891  43908  Chennai  Hyderabad             6  ...     6  orange        nan         nan     0.0  15.0
3    2  43891  43908  Chennai  Hyderabad             6  ...    12  orange        nan         nan     0.0  15.0
4    2  43891  43908  Chennai  Hyderabad             6  ...     6  orange        nan         nan     0.0  15.0

[5 rows x 16 columns]
  Id_x  Start    End     From         To Price Per Ton  ... Price    type   category temperature rotated   age
0    1  43873  43881    Delhi  Bangalore             5  ...    10     NaN  dangerous          10     NaN   NaN
1    1  43873  43881    Delhi  Bangalore             5  ...     5     NaN  dangerous          10     NaN   NaN
2    2  43891  43908  Chennai  Hyderabad             6  ...     6  orange        NaN         NaN   False  15.0
3    2  43891  43908  Chennai  Hyderabad             6  ...    12  orange        NaN         NaN   False  15.0
4    2  43891  43908  Chennai  Hyderabad             6  ...     6  orange        NaN         NaN   False  15.0

[5 rows x 16 columns]
#####3

Проблема здесь, что сначала «тип» получает значения шоколада в 1,2, но затем они заменяются на NaN, когда оранжевый вводится в 3,4,5. Как это предотвратить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...