Объект 'NoneType' не является подписываемым df.apply(lambda row: (row)[0], axis=1)
Я связываю две таблицы
от variety_id к variety_name
но мой код выдает ошибку, когда variety_id равен null
'NoneType' object is not subscriptable
код, в котором я связываю таблицу
if not df.empty:
df['commodity_name'] = df.apply(lambda row: commodity_name(row)[0], axis=1)
df['state_name'] = df.apply(lambda row: state_name(row)[0], axis=1)
df['variety_name'] = df.apply(lambda row: variety_name(row)[0], axis=1)
def commodity_name(self):
if self.commodity_id:
return get_commodity_name(self.commodity_id)
return None
def state_name(self):
if self.state_id:
return get_region_name(self.state_id)
return None
def variety_name(self):
if self.variety_id:
return get_variety_name(self.variety_id)
return None
также написан запрос для отображения столбцов
def get_variety_name(variety_id):
"""
This function is used to return state_name by querying the database based on lgd_state_id
"""
query = "SELECT commodity_variety_name FROM itrade.commodity_variety_master WHERE commodity_variety_id={}".format(
variety_id)
query_result = get_column_value(query)
if not query_result.empty:
return list(get_column_value(query)['commodity_variety_name'])
return None
def get_commodity_name(commodity_id=None):
"""
This function is used to return commodity_name by querying the database based on commodity_id
"""
query = "SELECT commodity_id, commodity_name FROM itrade.commodity_master"
if commodity_id:
query += " WHERE commodity_id={}".format(commodity_id)
return list(get_column_value(query)['commodity_name'])
return get_column_value(query).to_dict(orient='records')
в таблице DB в последней строке variety_id нет, что дает ошибку, если я помещаю значение в него, то код работает нормально
Modify id commodity_id state_id variety_id season_id attribute_value attribute_name attribute_unit status updated_at created_at
edit 1 1 1 1 1 10 base_temp C 1 2021-12-08 05:32:38.565360 2021-11-15 13:53:27.286340
edit 2 2 2 2 2 32 rainfall mm 0 2021-11-15 13:53:27.286340 2021-11-15 13:53:27.286340
edit 3 2 1 5 1 10 temperature Farenhite 1 2021-12-06 08:19:27.754601 2021-12-06 06:58:52.527409
edit 4 2 1 4 12 12 temperature celcius 1 2021-12-06 07:20:36.682156 2021-12-06 07:20:36.682194
edit 5 2 35 5 111 111 temperature Farenhite 1 2021-12-06 08:21:01.312057 2021-12-06 08:20:38.318877
edit 6 2 35 4 2345 1123 temperature (C) celcius 1 2021-12-06 11:36:09.478035 2021-12-06 11:36:01.101701
edit 7 1 1 2 2 10 base_temp C 1 2021-12-17 11:08:49.000000 2021-12-17 11:08:49.000000
edit 8 31 9 60 1 10 base_temp C 1 2021-12-18 09:26:42.000000 2021-12-18 09:26:42.000000
edit 9 84 9 1 2 15 base_temp C 1 2021-12-20 07:48:34.000000 2021-12-20 07:48:34.000000
edit 10 43 9 NULL 111 1111 temperature (F) celcius 1 2021-12-21 12:14:08.384168 2021-12-21 12:14:08.384215
Я получил ответ спасибо за помощь