在Pandas Python中设置DF

时间:2013-01-14 17:16:22

标签: python pandas

我有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

有什么建议吗?感谢。

1 个答案:

答案 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