【发布时间】:2014-09-05 19:43:06
【问题描述】:
我有一个像这样的二维(或更多)pandas DataFrame:
>>> import pandas as pd
>>> df = pd.DataFrame([[0,1],[2,3],[4,5]], columns=['A', 'B'])
>>> df
A B
0 0 1
1 2 3
2 4 5
现在假设我有一个像 np.array([2,3]) 这样的 numpy 数组,并想检查 df 中是否有与我的数组内容匹配的行。这里的答案显然应该是正确的,但是例如。 np.array([1,2]) 应该返回 false,因为在 A 列中不存在同时在 B 列中包含 1 和 2 的行。
当然这很简单,但现在看不到。
【问题讨论】:
-
行和列都有 1 , 2 那么你到底是什么意思没有?
-
你试过类似 df.isin([1,2]) 的东西吗?它将输出您需要查找完全和部分匹配的行的布尔值
-
@JohnRuddell:但是没有一行在 A 列中包含 1,在 B 列中包含 2。我正在寻找类似于 SQL 中 WHERE 子句的语义。