我有一个panda Dataframe ,其中有一个名为 json2 的列,该列包含来自API调用的json字符串:"{'obj': [{'timestp': '2022-12-03', 'followers': 281475, 'avg_likes_per_post': 7557, 'avg_comments_per_post': 182, 'avg_views_per_post': 57148, 'engagement_rate': 2.6848}, {'timestp': '2022-12-02', 'followers': 281475, 'avg_likes_per_post': 7557, 'avg_comments_per_post': 182, 'avg_views_per_post': 57148, 'engagement_rate': 2.6848}]}"
我想创建一个函数,该函数遍历列,并在 timestp 与给定日期匹配时提取 followers 的数量
def get_followers(x):
if x['obj']['timestp']=='2022-12-03':
return x['obj']['followers']
df['date'] = df['json2'].apply(get_followers)
我应该得到281475作为列 date 中的值,但我得到了一个错误:列表索引必须是整数或切片,而不是字符串
我做错了什么?先谢谢你
1条答案
按热度按时间lrl1mhuk1#
字典列表中出现名为obj的键。在定义另一个键之前,还必须指定列表元素的索引。
你也可以使用这个函数,它的作用和你正在使用的函数一样:
对于字典列表: