python - Pandas 按字典列表中的值过滤数据帧
问题描述
我的数据框(mydata)中有以下结构
name values
abc [{"x":"pqr","y":"lrz"}, {"x":"wer", "y":"rty"}]
bcd [{"x":"pqs","y":"eer"}, {"x":"pqr", "y":"dww"}]
它有两列。values 列有一个字典列表。我想过滤值列表的第一个元素具有“x”=“pqr”值的数据框。
预期的数据框
name values
abc [{"x":"pqr","y":"lrz"}, {"x":"wer", "y":"rty"}]
我试过了
mydata[mydata["values"][0]["x"] == "pqr"]
但我得到了keyerror 0。有没有办法在不遍历数据框的情况下做到这一点。?
解决方案
使用pandas.Series.str
:
df[df['values'].str[0].str['x'].eq("pqr")]
输出:
name values
0 abc [{'x': 'pqr', 'y': 'lrz'}, {'x': 'wer', 'y': '...
推荐阅读
- flutter - Flutter 在将数据发送到服务器时出现 _InternalLinkedHashMap 错误
- jquery - 根据第一个的输入触发第二个 ajax 函数
- php - 如何在回复时附加线程消息,以便新用户可以在 Gmail Api 中看到以前的对话
- angular - Angular 8 观察本地存储的变化
- r - 在 R 中,如何选择/子集具有大于某个值的值的站点,但然后保留所有包含小于所选值的值的站点?
- neo4j - 远程 neo4j gremlin 结果不一致
- python - 如何生成这个特定的列表列表
- javascript - 为什么它不能识别我的下拉菜单中的无效选择?
- node.js - Docker + NodeJS:在目录中找不到 package.json
- javascript - Create-react-app 命令不使用 ES6 类