Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.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 Pandas使用DataFrame.query根据字符串长度筛选字符串数据_Python_String_Pandas_Dataframe - Fatal编程技术网

Python Pandas使用DataFrame.query根据字符串长度筛选字符串数据

Python Pandas使用DataFrame.query根据字符串长度筛选字符串数据,python,string,pandas,dataframe,Python,String,Pandas,Dataframe,这个问题与这个问题非常相似,但我想使用pandas.DataFrame.query。假设我们有一个pandas.DataFrame。我喜欢使用pandas.DataFrame.query筛选出列A的字符串长度不等于3的行 import pandas as pd import numpy as np df = pd.DataFrame({'A' : ['hi', 'hello', 'day', np.nan], 'B' : [1, 2, 3, 4]}) df.query('A.str.len(

这个问题与这个问题非常相似,但我想使用
pandas.DataFrame.query
。假设我们有一个
pandas.DataFrame
。我喜欢使用
pandas.DataFrame.query
筛选出列
A
的字符串长度不等于3的行

import pandas as pd
import numpy as np
df = pd.DataFrame({'A' : ['hi', 'hello', 'day', np.nan], 'B' : [1, 2, 3, 4]})  
df.query('A.str.len() != 3')
然而,我得到了以下错误

TypeError: unhashable type: 'numpy.ndarray'

3
替换为
“3”
有效。我正在使用
pandas 0.23.1

df.query('A.str.len() != "3"')
输出:

       A  B
0     hi  1
1  hello  2
3    NaN  4
       A  B
0     hi  1
1  hello  2

或者,如果要将
np.nan
作为3个字符串(
nan
)删除:

输出:

       A  B
0     hi  1
1  hello  2
3    NaN  4
       A  B
0     hi  1
1  hello  2

希望这能有所帮助。

这个表达式对我有用,也许数据框的A列有一些特定的内容。请分享
df.head()
@haleemulari的输出,我已经修改了代码,您可以在那里使用示例。这正是我想要的。谢谢