Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫系列搜索不起作用_Python_Pandas - Fatal编程技术网

Python 熊猫系列搜索不起作用

Python 熊猫系列搜索不起作用,python,pandas,Python,Pandas,我有一个dataframe,其中一列是string类型的“name”。 我想知道那一栏里有没有名字 发生这种情况: In [1]: print specific_name in df['name'] Out [1]: False In [2]: print specific_name in df['name'].tolist() Out [2]: True 为什么我必须将其转换为列表?您所做的是一个模棱两可的调用,因为您没有指定在什么条件下它应该计算为True 要筛选出与字符串匹配的行,请

我有一个dataframe,其中一列是string类型的“name”。 我想知道那一栏里有没有名字

发生这种情况:

In  [1]: print specific_name in df['name']
Out [1]: False
In  [2]: print specific_name in df['name'].tolist()
Out [2]: True

为什么我必须将其转换为列表?

您所做的是一个模棱两可的调用,因为您没有指定在什么条件下它应该计算为
True

要筛选出与字符串匹配的行,请执行以下操作:

df[df['name'] == specific_name]

注意,我必须将字符串放入列表中,因为它必须是一个iterable对象

如果我们尝试您尝试的方法:

In [122]:

'hello' in df['name']
Out[122]:
False
这是因为它是模棱两可的

In [119]:

df[df['name']=='hello']
Out[119]:
    name
0  hello
In [121]:

df[df['name'].isin(['hello'])]
Out[121]:
    name
0  hello
要在列表中进行匹配,请使用isin:

In [123]:

df = pd.DataFrame({'name':['hello','world','python']})
df
Out[123]:
     name
0   hello
1   world
2  python

In [126]:

specifc_names = ['hello', 'world']
df[df['name'].isin(specifc_names)]
Out[126]:
    name
0  hello
1  world
我们也可以使用多个布尔条件,但请记住使用数组运算符,并且由于运算符优先级的原因,需要在条件周围放置大括号:

In [127]:

df[(df['name'] == 'hello') | (df['name']=='world')]
Out[127]:
    name
0  hello
1  world

您所做的是一个模棱两可的调用,因为您没有指定在什么条件下它应该计算为
True

要筛选出与字符串匹配的行,请执行以下操作:

df[df['name'] == specific_name]

注意,我必须将字符串放入列表中,因为它必须是一个iterable对象

如果我们尝试您尝试的方法:

In [122]:

'hello' in df['name']
Out[122]:
False
这是因为它是模棱两可的

In [119]:

df[df['name']=='hello']
Out[119]:
    name
0  hello
In [121]:

df[df['name'].isin(['hello'])]
Out[121]:
    name
0  hello
要在列表中进行匹配,请使用isin:

In [123]:

df = pd.DataFrame({'name':['hello','world','python']})
df
Out[123]:
     name
0   hello
1   world
2  python

In [126]:

specifc_names = ['hello', 'world']
df[df['name'].isin(specifc_names)]
Out[126]:
    name
0  hello
1  world
我们也可以使用多个布尔条件,但请记住使用数组运算符,并且由于运算符优先级的原因,需要在条件周围放置大括号:

In [127]:

df[(df['name'] == 'hello') | (df['name']=='world')]
Out[127]:
    name
0  hello
1  world

您所做的是一个模棱两可的调用,因为您没有指定在什么条件下它应该计算为
True

要筛选出与字符串匹配的行,请执行以下操作:

df[df['name'] == specific_name]

注意,我必须将字符串放入列表中,因为它必须是一个iterable对象

如果我们尝试您尝试的方法:

In [122]:

'hello' in df['name']
Out[122]:
False
这是因为它是模棱两可的

In [119]:

df[df['name']=='hello']
Out[119]:
    name
0  hello
In [121]:

df[df['name'].isin(['hello'])]
Out[121]:
    name
0  hello
要在列表中进行匹配,请使用isin:

In [123]:

df = pd.DataFrame({'name':['hello','world','python']})
df
Out[123]:
     name
0   hello
1   world
2  python

In [126]:

specifc_names = ['hello', 'world']
df[df['name'].isin(specifc_names)]
Out[126]:
    name
0  hello
1  world
我们也可以使用多个布尔条件,但请记住使用数组运算符,并且由于运算符优先级的原因,需要在条件周围放置大括号:

In [127]:

df[(df['name'] == 'hello') | (df['name']=='world')]
Out[127]:
    name
0  hello
1  world

您所做的是一个模棱两可的调用,因为您没有指定在什么条件下它应该计算为
True

要筛选出与字符串匹配的行,请执行以下操作:

df[df['name'] == specific_name]

注意,我必须将字符串放入列表中,因为它必须是一个iterable对象

如果我们尝试您尝试的方法:

In [122]:

'hello' in df['name']
Out[122]:
False
这是因为它是模棱两可的

In [119]:

df[df['name']=='hello']
Out[119]:
    name
0  hello
In [121]:

df[df['name'].isin(['hello'])]
Out[121]:
    name
0  hello
要在列表中进行匹配,请使用isin:

In [123]:

df = pd.DataFrame({'name':['hello','world','python']})
df
Out[123]:
     name
0   hello
1   world
2  python

In [126]:

specifc_names = ['hello', 'world']
df[df['name'].isin(specifc_names)]
Out[126]:
    name
0  hello
1  world
我们也可以使用多个布尔条件,但请记住使用数组运算符,并且由于运算符优先级的原因,需要在条件周围放置大括号:

In [127]:

df[(df['name'] == 'hello') | (df['name']=='world')]
Out[127]:
    name
0  hello
1  world
您可以使用以下命令:
(df.name==“name”).sum()>0

如果名称“name”在列中,则返回True。

您可以使用此选项:
(df.name==“name”).sum()>0

如果名称“name”在列中,则返回True。

您可以使用此选项:
(df.name==“name”).sum()>0

如果名称“name”在列中,则返回True。

您可以使用此选项:
(df.name==“name”).sum()>0


如果名称“name”在列中,它将返回True。

因为它是不明确的,如果specfic_name仅在系列中的一行中,这应该是True吗?你应该做
df[df['name']==specfic\u name]
df['name'])。isin([specific\u name[)
注意我必须将你的字符串转换成一个带有一个字符串的列表太棒了!谢谢。如果我想要所有的行都有一个名为“specific names”的列表中的名称,我该怎么办?因为它是不明确的,如果特定名称仅在系列中的一行中,该怎么办?您应该执行
df[df['name']==specfic\u name]
df['name']。isin([specific\u name[)
注意,我必须将您的字符串转换为一个包含单个字符串的列表太棒了!谢谢。如果我希望列表中的所有行都有一个名为“特定名称”的名称,我该怎么办?因为它是不明确的,如果特定名称在系列中只有一行,这应该是真的吗?您应该执行
df[df['name'==specfic\u name]
df['name'].isin([specific_name[)
注意,我必须将您的字符串转换为具有单个字符串的列表真棒!谢谢。如果我希望列表中的所有行都有一个名为“specific names”的名称,我该怎么办?因为它是不明确的,如果specific_name在系列中只有一行,这应该是真的吗?您应该执行
df[df['name']==specfic_name]
df['name'].isin([specific_name[)
注意,我必须将您的字符串转换为一个包含单个字符串的列表太棒了!谢谢。如果我希望列表中的所有行都有一个名为“specific name”的名称,我该怎么办?