从从Excel文件读取的字典格式中提取的列表格式数据中提取特定数据



我正在从嵌套字典格式的数据中提取特定数据。作为在字典格式中选择特定数据作为第一步骤的结果,获得了以下列表格式数据。每一行的数据类型都是一个列表。

dataset 
0                                                      []
1                                                      []
2                                                      []
3                [{'A': 1, 'B': 2, 'C': 'information1'}]
4       [{'A': 3, 'B': 4, 'C': 'information2'}, {'...
type(dataset[0])
=> list
type(dataset)
=> pandas.core.series.Series

我再次尝试从这里提取特定数据("C"(。当对每一行使用以下代码时,我可以成功地提取特定的数据。

[d['C'] for d in dict_test2[1]]
=> ['information1']

然而,由于数据超过40k,如果我创建并执行以下方法,我会看到一条错误消息。

def get_c(d):
return [d['C'] for d in dataset]
dataset2 = dataset.apply(get_c)
=> TypeError: list indices must be integers or slices, not str

如有任何帮助,我们将不胜感激。

由于列值是python列表,您可以分解列,然后使用Series.str['key']dropna获取字典值,最后调用tolist()获取列表值:

>>> df[0].explode().str['C'].dropna().to_list()
['information1', 'information2']

最新更新