我有一个类似于下面的数据框:
close_price short_lower_band long_lower_band
Equity(8554) 180.530 184.235603 183.964306
Equity(2174) 166.830 157.450404 157.160282
Equity(23921) 124.670 127.243468 126.072039
Equity(26807) 117.910 108.761587 107.190081
Equity(42950) 108.070 97.491851 96.868036
Equity(4151) 97.380 98.954371 98.335786
我想生成一个索引值列表,其中'关闭价格'小于' short_lower_band'并且小于' long_lower_band'。因此,从上面的示例数据框中我们得到:
long_secs = [Equity(8554), Equity(23921), Equity(4151)]
任何有关如何做到这一点的帮助将不胜感激。
答案 0 :(得分:0)
试试这个:
In [334]: df
Out[334]:
close_price short_lower_band long_lower_band
Equity(8554) 180.53 184.235603 183.964306
Equity(2174) 166.83 157.450404 157.160282
Equity(23921) 124.67 127.243468 126.072039
Equity(26807) 117.91 108.761587 107.190081
Equity(42950) 108.07 97.491851 96.868036
Equity(4151) 97.38 98.954371 98.335786
In [335]:
In [335]: df[(df.close_price < df.short_lower_band) & \
.....: (df.close_price < df.long_lower_band)].index.values
Out[335]: array(['Equity(8554)', 'Equity(23921)', 'Equity(4151)'], dtype=object)
或者如果你需要一个普通的列表而不是numpy数组:
In [336]: df[(df.close_price < df.short_lower_band) & \
.....: (df.close_price < df.long_lower_band)].index.tolist()
Out[336]: ['Equity(8554)', 'Equity(23921)', 'Equity(4151)']