pandas-类别型数据排序及比较

在这里插入图片描述

#!/usr/bin/env python
# coding: utf-8

# #    第三课 Pandas类别型数据分析
# ## 第四节 类别型数据排序及比较

# In[1]:
import pandas as pd
import numpy as np
# * 排序

# In[2]:
data = ['a', 'b', 'c', 'a']
# In[3]:
# 不设置ordered
s = pd.Series(pd.Categorical(data, ordered=False))
s
# In[4]:
s.sort_values()
# In[5]:
s.max()#报错
# In[6]:
# 设置ordered
from pandas.api.types import CategoricalDtype
s1 = s.astype(CategoricalDtype(categories=['c', 'b', 'a'], ordered=True))
s1
# In[7]:
s1.sort_values()
# In[8]:
s1.max()
# In[9]:
s1.min()
# * 重新设置排序
# In[10]:
s2 = s1.cat.reorder_categories(['b', 'c', 'a'], ordered=True)
s2
# In[11]:
s2.sort_values()
# * 比较
# In[12]:
s
# In[13]:
s1
# In[14]:
s2
# In[15]:
# 和标量比较
s1 > 'b'
# In[16]:
# 不同类别的数据比较 报错
s1 > s2
# In[17]:
s3 = pd.Series(pd.Categorical(['a', 'c', 'b', 'a'], 
                              categories=['c', 'b', 'a'],
                             ordered=True))
#按照c b a从小到大排
s3
# In[18]:
s1 > s3
# In[ ]:



猜你喜欢

转载自blog.csdn.net/lildn/article/details/115016290