python - 在列内的值中搜索特定字符后,如何在 python 中仅打印 datframe 中的某些列
问题描述
示例数据框df:
Date msft_close msft_high signal
01-01-20 350 358 buy
02-01-20 370 377 sell
03-01-20 365 370 NaN
04-01-20 368 371 buy
df[df["signal"].astype(str).str.contains("buy")]
印刷:
Date msft_close msft_high signal
01-01-20 350 358 buy
04-01-20 368 371 buy
但我只想要列 msft_close 。仅在检查信号列是否已购买后,如何选择打印 msft_close ?我的目标输出是:
Date msft_close
01-01-20 350
04-01-20 368
解决方案
改用这段代码-
df[df["signal"].astype(str).str.contains("buy")]["msft_close"]
它返回msft_close
过滤器后的列。
注意:我假设该
Date
列是索引。
推荐阅读
- ruby-on-rails - 如何在 Ruby 中将小数四舍五入到第一个有效数字
- app-inventor - Appinventor:使用伴侣时如何手动清除持久数据?
- ruby-on-rails - 使用 activerecord-import gem 递归导入:has_many 通过关联不起作用
- jmeter - 在后续的 While 循环中使用 beanshell 变量
- angular - 在启动时从 Angular 8 应用程序中的 API 在运行时延迟加载和设置 LOCALE_ID
- python - 使用 python 胶囊在 cython 和 pybind11 之间传输 c++ 对象
- python - Pyserial 读取没有返回我写出的内容
- java - 打开活动时如何停止“跳跃效应”?
- mysql - 使用 EB CLI 运行本地 java/mysql 容器堆栈返回:nc: bad address 'mysql-server'
- service - Outlook JS 插件:来自令牌的凭据(本地交换,不是 OAuth)