在python中搜索所有数据集值
我试图在我的数据集中找到一个值 我知道我们能做到在python中搜索所有数据集值,python,dataframe,Python,Dataframe,我试图在我的数据集中找到一个值 我知道我们能做到 df.loc[df['name'].isin('john', 'tom')] 但是,我们可以通过搜索数据集中的所有列和行来查找这些单词吗 我试过了,但没有成功 df.iloc['john'.isin(df[:])] 你知道怎么做吗?你可以做df[df.isin(['john','tom'])]: 但是,未选择的值填充有NaN: df[df.isin(["John", "Eve"])] # 0 1 2 # 0 Jo
df.loc[df['name'].isin('john', 'tom')]
但是,我们可以通过搜索数据集中的所有列和行来查找这些单词吗
我试过了,但没有成功
df.iloc['john'.isin(df[:])]
你知道怎么做吗?你可以做
df[df.isin(['john','tom'])]
:
但是,未选择的值填充有NaN
:
df[df.isin(["John", "Eve"])]
# 0 1 2
# 0 John NaN Eve
# 1 Eve NaN John
但它仍然是一个面具:
df[df.isin(["John"])] = "john"
df
# 0 1 2
# 0 john Adam Eve
# 1 Eve Adam john
如果要使用loc
进行过滤,则需要首先降低维度:
df.loc[df.isin(["john", "Eve"]).any(axis=1)]
# 0 1 2
# 0 john Adam Eve
# 1 Eve Adam john
df = pd.DataFrame([["John", "Adam", "Eve"], ["Eve", "Adam", "Alice"]])
df.loc[df.isin(["John", "Eve", "Adam"]).all(axis=1)]
# 0 1 2
# 0 John Adam Eve
不使用loc?@asmgx:是,不使用
loc
。您可以使用loc
,但需要先将其缩减为一维(使用any
或all
)。见编辑后的答案。
df.loc[df.isin(["john", "Eve"]).any(axis=1)]
# 0 1 2
# 0 john Adam Eve
# 1 Eve Adam john
df = pd.DataFrame([["John", "Adam", "Eve"], ["Eve", "Adam", "Alice"]])
df.loc[df.isin(["John", "Eve", "Adam"]).all(axis=1)]
# 0 1 2
# 0 John Adam Eve