【发布时间】:2013-10-25 05:12:54
【问题描述】:
我有两个 sn-ps 的 pandas 代码,我认为它们应该是等效的,但第二个没有达到我的预期。
# snippet 1
data = all_data[[((np.isfinite(all_data[self.design_metric][i])
and all_data['Source'][i] == 2))
or ((np.isfinite(all_data[self.actual_metric][i])
and all_data['Source'][i] != 2))
for i in range(len(all_data))]]
# snippet 2
data = all_data[(all_data['Source'] == 2 &
np.isfinite(all_data[self.design_metric])) |
(all_data['Source'] != 2 &
np.isfinite(all_data[self.actual_metric]))]
每个部分(例如 all_data['Source'] == 2 )都按照我的预期做,但似乎我对逻辑运算符做错了,因为最终结果与列表理解版本的结果不同。
【问题讨论】:
标签: python pandas logical-operators