python - 按条件过滤行并使用 python pandas 从数据框中选择多列
问题描述
如果我有以下数据框子集
A B C D E Date
R0 xy 78 io 16 73 2021-03-25
R1 xx 27 ya 80 1 2021-04-20
R2 xx 53 ya 27 44 2021-06-20
R3 xx 65 io 30 84 2021-08-22
R4 xv 9 ui 62 1 2021-08-01
如何使用 panda 来获得以下数据框:
A B C Date
R1 xx 27 ya 2021-04-20
R2 xx 53 ya 2021-06-20
我正在考虑通过以下方式过滤列:
sbset = subset[['A','B','C', 'Date' ]]
然后过滤 A = 'XX' 和 C = 'ya' 的位置,但是对于 100 万个 obs 和 127 个变量的数据框,这需要很长时间,我可以同时执行这两个操作吗(按两个或多个变量过滤并选择更多变量)一步?
另一个问题,如果数据框将日期作为字符串,我怎样才能将格式更改为日期?
谢谢阅读。
解决方案
您只需要为此进行布尔运算:
mask=(df['A']=='xx') & (df['C']=='ya')
最后:-
result=df[mask]
现在,如果您打印result
,您将获得所需的输出
推荐阅读
- docker - 在 GitLab 上部署 Docker 项目失败,退出代码为 137?
- firewall - Freeswitch 使用的 RTP 端口与定义的不同
- react-native - 不工作我的第一个 react-native 应用程序 run-android ***
- oracle - EM 13c - 事件管理器的自定义视图
- html - 制作一个按钮以将元素从一个 html 页面移动到另一个 html 页面
- javascript - 在循环JS中获取
- java - 我们可以将 CDATA 嵌入到 xml 中名称值对的纯字符串中吗?
- javascript - 如何使tabIndex(输入字段)在页面加载的顶部开始 - Jquery
- sql - 如何构建交叉表查询表
- javascript - 将多个查询选择器存储在一个变量中的最佳方法