我有一个系列:
qbChatDialog.initForChat(QBChatService.getInstance());
qbChatDialog.addMessageListener(chatMessageListener);
DiscussionHistory discussionHistory = new DiscussionHistory();
discussionHistory.setMaxStanzas(0);
if (!qbChatDialog.isJoined()) {
qbChatDialog.join(discussionHistory, new QBEntityCallback() {
@Override
public void onSuccess(Object o, Bundle bundle) {
if (qbChatDialog != null) {
getMessage(qbChatDialog, false);
}
}
@Override
public void onError(QBResponseException e) {
Log.e("QB Join", e.toString());
Toast.makeText(QBChatActivity.this, "" + e.toString(), Toast.LENGTH_LONG).show();
}
});
} else {
if (qbChatDialog != null) {
getMessage(qbChatDialog, false);
}
}
和数据框:
350 0
254 1
490 0
688 0
393 1
30 1
以下代码用于计算数据框中Series和results列之间的匹配总数。 除了下面还有其他更好的方法吗?
0 outcome
0 350 1
1 254 1
2 490 0
3 688 0
4 393 0
5 30 1
我尝试使用i=0
match=0
for pred in results['outcome']:
if test.values[i] == pred:
match+=1
i+=1
print match
,但答案是错误的。
并使用lambda但语法错误。
请指教。感谢
答案 0 :(得分:4)
您可以通过映射系列进行比较,即
df.outcome.eq(s).sum()
4
答案 1 :(得分:2)
首先,使用align
对齐数据框和系列。
job2
接下来,将df, s = df.set_index('0').align(s, axis=0)
列与outcome
中的值进行比较,并计算s
值的数量 -
True