首页 > 解决方案 > 识别熊猫中包含字典的列

问题描述

我有一个类似于以下的数据集:

pd.DataFrame({
    'col1': [1,2,3,4,5,6,7],
    'col2': ['a','b','c','d','e','f','g'],
'col3': [{'lol':1,'lol2':'a'},{'lol':2,'lol2':'b'},{'lol':4,'lol2':'n'}, 
{'lol':1,'lol2':'a'},{'lol':1,'lol2':'a'},{'lol':1,'lol2':'a'}, 
{'lol':1,'lol2':'a'}]})

我正在尝试找到一种方法来识别包含字典的列。在此示例中,它将是 'col3'

理想的输出是列名列表

标签: pythonpandasdictionary

解决方案


您可以使用列表推导来遍历列并检查每个列中的第一个元素是否是 dict。请注意,这适用于给定的情况,并假设任何包含 dicts 的列包含dicts

[i for i in df.columns if isinstance(df[i][0],dict)]

['col3']

推荐阅读