如何使用符号列进行过滤?符号列包含类型为zipline.assets._assets.Equity
我可以使用以下方式打印符号:
print df.iloc[0][1].symbol
date symbol pension mutual
0 2013-12-31 00:00:00+00:00 Equity(45971 [AAL]) 14353441 27482858
1 2014-03-31 00:00:00+00:00 Equity(45971 [AAL]) 9386708 46218086
2 2014-06-30 00:00:00+00:00 Equity(45971 [AAL]) 8988341 61937025
3 2014-09-30 00:00:00+00:00 Equity(45971 [AAL]) 9699814 77006037
4 2014-12-31 00:00:00+00:00 Equity(45971 [AAL]) 12409152 81555692
答案 0 :(得分:1)
你必须使用申请。这是一个玩具示例:
for (int x = 0; x < messages.length(); x++) {
//Test if string delimiter is reached, if so, jump to next line.
if(messages[x] == ';') {
std::cout << "\n";
}
//Else just print the string:
else {
std::cout << messages[x];
}
}
这些Foo class Foo():
def __init__(self, a):
self.a = a
def __repr__(self):
return "Foo({})".format(self.a)
In [11]: df = pd.DataFrame([[Foo(1), 1], [Foo(1), 2], [Foo(2), 3]])
In [12]: df
Out[12]:
0 1
0 Foo(1) 1
1 Foo(1) 2
2 Foo(2) 3
In [13]: g = df.groupby(df[0].apply(lambda x: x.a)) # Note: x is of type Foo
属性是每个组的名称属性(键)
因此我们可以使用它来过滤:
a
答案 1 :(得分:0)
使用Andy Hayden的答案中的Dataframe df,您也可以执行以下操作:-
<li>
您还可以通过执行以下操作按许多值过滤:-
In [13]: df[df[0].map(lambda x: x.a == 1)]
Out[13]:
0 1
0 Foo(1) 1
1 Foo(1) 2