Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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 熊猫';bool对象不可调用';_Python_Sorting_Pandas_Dataframe - Fatal编程技术网

Python 熊猫';bool对象不可调用';

Python 熊猫';bool对象不可调用';,python,sorting,pandas,dataframe,Python,Sorting,Pandas,Dataframe,我有一个包含多个列的数据框架,我正试图将它根据一个列进行分组,并根据另一个列对其进行排序。 如果我像这样应用groupby(): data.groupby(columnA) data.groupby(columnA).sort(coulmnB) 它不会吐出任何错误,但如果我尝试按如下方式排序: data.groupby(columnA) data.groupby(columnA).sort(coulmnB) 它给了我 TypeError: 'bool' object is not cal

我有一个包含多个列的数据框架,我正试图将它根据一个列进行分组,并根据另一个列对其进行排序。 如果我像这样应用groupby():

data.groupby(columnA)
data.groupby(columnA).sort(coulmnB)
它不会吐出任何错误,但如果我尝试按如下方式排序:

data.groupby(columnA)
data.groupby(columnA).sort(coulmnB)
它给了我

TypeError: 'bool' object is not callable
我在任何列中都没有任何bool对象,而且完全不知道为什么会发生这个错误。 我该如何解决这个问题?如果我完全做错了,还有什么方法可以对数据帧进行分组,并根据两个不同的列对其进行排序? 提前谢谢。

我想您需要:

编辑:但最好只使用

已弃用

但如果使用get error:

print (data.groupby('colA').sort_values('colB'))
AttributeError:无法访问“DataFrameGroupBy”对象的可调用属性“sort_values”,请尝试使用“apply”方法


由于要先按columnA再按columnB排序,因此只能使用以下方法进行排序:


注意:
sort
是groupby的一个(布尔)属性,因此不能调用它:

In [21]: data.groupby("columnA").sort
Out[21]: True

In [22]: data.groupby("columnA", sort=False).sort
Out[22]: False

In [23]: True()
TypeError: 'bool' object is not callable
通过以下示例,您可以看到它的内部功能:

In [31]: df = pd.DataFrame([["b", 1], ["a", 2]], columns=["A", "B"])

In [32]: df.groupby("A").sum()
Out[32]:
   B
A
a  2
b  1

In [33]: df.groupby("A", sort=False).sum()
Out[33]:
   B
A
b  1
a  2
注意:这种行为/排序是不保证的,它只是意味着熊猫不会特意排序groupby键。。。e、 g.对于某些索引类型,它可以排序:

In [34]: df.groupby("B", sort=False).sum()
Out[34]:
   A
B
1  b
2  a