Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.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_Dataframe - Fatal编程技术网

Python 是否有一种方法可以按排序类别中的项目数过滤数据帧?

Python 是否有一种方法可以按排序类别中的项目数过滤数据帧?,python,pandas,dataframe,Python,Pandas,Dataframe,基本上,我有一个熊猫数据框,它有一个不方便的有序类别字段,我甚至可能不知道类别值是什么,我只知道它是有序的,类别中有三个值: import pandas as pd dfs = pd.DataFrame({'C1': pd.Categorical(list('abbacabac'), categories=['a', 'b', 'c'], ordered=True), 'C2': [1,2,3,4,5,6,7,8,9]}) 例如,我可以通过以下操作获得第二类中的所有项目: df1 = dfs[

基本上,我有一个熊猫数据框,它有一个不方便的有序类别字段,我甚至可能不知道类别值是什么,我只知道它是有序的,类别中有三个值:

import pandas as pd
dfs = pd.DataFrame({'C1': pd.Categorical(list('abbacabac'), categories=['a', 'b', 'c'], ordered=True), 'C2': [1,2,3,4,5,6,7,8,9]})
例如,我可以通过以下操作获得第二类中的所有项目:

df1 = dfs[dfs.C1 == 'b']
但我可能甚至不知道这些类别是什么,或者它们可能真的很不方便输入。 考虑到示例中的类别是有序的,是否有一种简单的方法可以按顺序获取具有第二个类别的项目,例如

df1 = dfs[dfs.C1.category_order == 1]

通过索引使用和选择:

dfs = dfs[dfs.C1 == dfs.C1.cat.categories[1]]
print (dfs)
  C1  C2
1  b   2
2  b   3
6  b   7