首页 > 解决方案 > 在列内的值中搜索特定字符后,如何在 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      

标签: pythonpandasdataframedata-analysis

解决方案


改用这段代码-

df[df["signal"].astype(str).str.contains("buy")]["msft_close"]

它返回msft_close过滤器后的列。

注意:我假设该Date列是索引。


推荐阅读