【发布时间】:2021-07-01 02:00:59
【问题描述】:
我有一个数据框 df 有一列 tags 。 tags 列的每个元素都是一个字典列表,如下所示:
[
{
"id": "leena123",
"name": "LeenaShaw",
"slug": null,
"type": "UserTag",
"endIndex": 0,
"startIndex": 0
},
{
"id": "1234",
"name": "abc ltd.",
"slug": "5678",
"type": "StockTag",
"endIndex": 0,
"startIndex": 0
}
]
列表可以包含任意数量的元素。
样本数据集:
0 some_data [{'id': 'leena123', 'name': 'leenaShaw', 'slug': None, 'type...
1 some data [{'id': '6', 'name': 'new', 'slug': None, 'type...
我想从 type 为 UserTag 列的 tags 列中创建所有 id 的列表>
样本输出:
['leena123', 'saily639,...]
我正在尝试这个:
list(df['tags'].apply(lambda x: d['name'] if any(d['type'] == 'UserTag' for d in x)))
但它不起作用。请帮帮忙。
【问题讨论】:
-
请分享您的数据框样本和预期输出。
标签: python pandas dataframe dictionary lambda