python - 如何使用字典列表中的值更新 Pandas 数据框?
问题描述
我有一个像这样的 Pandas 数据框(它是 Twitter 句柄的列表):
label favees
0 1NewsNZ 1
1 mhjb 1
2 citizenai_nz 1
...
我想用相关 Twitter 个人资料中的一些信息来充实它。python-twitter UsersLookup函数返回一个字典列表,如下所示:
{"created_at": "Fri Apr 04 09:03:48 +0000 2008", "description": "Stay ahead with 1 NEWS
| Instagram and Snapchat: 1NewsNZ", "favourites_count": 2447, "followers_count": 152214,
"friends_count": 239, ...}
我想要做的是一次将所有 100 行的配置文件中这三列中的值复制到块数据框中。下面的最后三行不起作用,但也许可以说明我正在尝试做什么:
def populate_profiles(people_csv):
people = pd.read_csv(OUTPUT_FOLDER + people_csv)
api = connect_to_twitter.api()
people_chunks = df_chunks(people, 100)
for chunk in people_chunks:
profiles = api.UsersLookup(screen_name=chunk['label'].values.tolist())
chunk['name'] = profiles['name']
chunk['description'] = profiles['description']
chunk['image'] = profiles['profile_image_url']
之后,我会将充实的行附加到新的 CSV 中。(df_chunks
来自https://stackoverflow.com/a/44729807/1876628)
我觉得答案与dataframe.map有关。
解决方案
不确定这是最好的方法,但这似乎有效:
chunk['name'] = [profile.name for profile in profiles]
chunk['description'] = [profile.description for profile in
chunk['image'] = [profile.profile_image_url for profile in profiles]
感谢这个答案提供了我需要的线索。
如果有更优雅的方式,请大声唱出来……</p>
推荐阅读
- node.js - 我得到了 Vue 版本,但它不在任何 npm 列表中
- apache-spark - PySpark 中的 MulticlassClassificationEvaluator 和 MultilabelClassificationEvaluator 有什么区别?
- python - 如何从数据框中的所有列中删除某个值?
- python-3.x - 对 __init__ 的使用感到困惑
- ruby-on-rails - 如何在 Rails 6.1.4 中使用数据表?
- java - 我正在尝试将工具栏菜单添加到我的应用程序,但当我登录时应用程序崩溃。我该如何解决这个问题?
- java - 如何检查给定的输入流(zip 文件)是否受密码保护或不使用 java?
- python - python导入almentation包失败
- python - OpenCV 二维码检测取决于图像大小
- forms - Formrequest 和 Scrapy。填写表格