使用列表理解将 dict 添加到数据框对象时出错

使用 dict 理解时无法将 dict 对象添加到数据帧。


我有一些代码,我不断收到 TypeError: 'float' object is not subscriptable on,如果我用 print 运行相同的代码,它就可以工作


我拥有的数据框如下所示:


organisasjonsnummer institusjonellSektorkode

981260546           {'kode': '2100', 'beskrivelse': 'Private aksje'}

913062159           {'kode': '2100', 'beskrivelse': 'Private aksje'}

975931366           {'kode': '2100', 'beskrivelse': 'Private aksje'}

我希望它看起来像这样:


organisasjonsnummer kode          beskrivelse

981260546           2100        'Private aksje'

913062159           2100        'Private aksje'

975931366           2100        'Private aksje'


所以我试图像这样附加到数据框,但我无法让它工作......


Dataframe_test['kode'] = [x.get('kode') for x in Dataframe_test['institusjonellSektorkode']]

# This doesn't work

sample = [x['kode'] for x in SAMPLE_TEST['institusjonellSektorkode']]


# this works

sample = [print(x['kode']) for x in SAMPLE_TEST['institusjonellSektorkode']]


至尊宝的传说
浏览 143回答 2
2回答

哈士奇WWW

我认为数据不是字典,而是列中的字符串institusjonellSektorkode,所以需要ast.literal_eval在列表理解之前转换它们,创建新的DataFrame并加入原始的。功能pop是提取列:import astdf1 = pd.DataFrame([ast.literal_eval(x) for x in df.pop('institusjonellSektorkode')])print (df1)     beskrivelse  kode0  Private aksje  21001  Private aksje  21002  Private aksje  2100df = df.join(df1)print (df)   organisasjonsnummer    beskrivelse  kode0            981260546  Private aksje  21001            913062159  Private aksje  21002            975931366  Private aksje  2100

心有法竹

哦,我的......我发现出了什么问题......我的数据集中有一个错误。这就是我纠正它的方式......吸取教训......下次更好地检查/清洗数据集......import numpy as np# Simple function to that returns a NaN if it is not fed a dict as an input.def get_value(dict, string_to_get):    '''    takes input of dict, and tries to return the value of the string, if it fails    it will return null value    '''    try:        get_string = dict.get(string_to_get)        return get_string    except:        return np.nanDataframe_test['kode'] = [get_value(x,'kode') for x in Dataframe_test['institusjonellSektorkode']]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python