Python熊猫数据框如果找不到索引则分配NaN

时间:2020-03-03 13:22:46

标签: python-3.x

我正在通过索引和列名读取值。如果数据框中没有给定的索引或列名,我想分配NaN值。

ktm_bc = emiss.loc['Ktm']['CO']

此处“ emiss”是一个数据框。 如果数据帧中不存在索引“ ktm”或“ CO”,我试图将NaN值分配给ktm_bc。

ktm_all_bc = [ ]

for i in range(10):

 emiss=pd.read_excel('emission_data_for_py.xlsx',sectors[i],header=1,index_col=0)
 ktm_bc = emiss.loc['Ktm']['CO']
 ktm_all_bc = ktm_all_bc.append(ktm_bc)

如果'emiss'中不存在['Ktm']或['CO'],则显示值错误 因此,当找不到索引或列名时,我想分配NaN值以继续循环。

2 个答案:

答案 0 :(得分:0)

我认为这可以做到:

ktm_bc  = np.nan
if 'Ktm' in emiss.index:
    ktm_bc = emiss.loc['Ktm']

其他索引使用相同的代码。另请参见hier

答案 1 :(得分:0)

以上建议可以使用'and'同时用于索引和列

ktm_bc = np.nan if 'Ktm' in emiss.index and 'CO' in emiss.columns: ktm_bc = emiss.loc['Ktm']['CO']