我有df
:
date cusip value
2012-12-20 XXXX 4.23
2012-12-20 YYYY 6.34
2012-12-20 ZZZZ 8.12
2012-12-21 XXXX 5.78
2012-12-21 YYYY 6.62
2012-12-21 ZZZZ 9.09
我想在我只选择列表中存在的cusips
的位置进行子集化:
cusList = ('XXXX', 'ZZZZ')
sub_df
将是:
date cusip value
2012-12-20 XXXX 4.23
2012-12-20 ZZZZ 8.12
2012-12-21 XXXX 5.78
2012-12-21 ZZZZ 9.09
有什么建议吗?感谢。
答案 0 :(得分:4)
您可以使用系列方法isin
:
In [1]: df = pd.read_csv(cusp.csv, sep='\s+')
In [2]: df.cusip.isin(['XXXX', 'ZZZZ'])
Out[2]:
0 True
1 False
2 True
3 True
4 False
5 True
Name: cusip
In [3]: df[df.cusip.isin(['XXXX', 'ZZZZ'])]
Out[3]:
date cusip value
0 2012-12-20 XXXX 4.23
2 2012-12-20 ZZZZ 8.12
3 2012-12-21 XXXX 5.78
5 2012-12-21 ZZZZ 9.09