如何对Pandas DataFrame进行自定义排序( 二 )
按多个变量排序接下来 , 让我们把事情变得更复杂一点 。 这里 , 我们将按多个变量对数据帧进行排序 。
df = pd.DataFrame({'order_id': [1001, 1002, 1003, 1004, 1005, 1006, 1007],'customer_id': [10, 12, 12, 12, 10, 10, 10],'month': ['Feb', 'Jan', 'Jan', 'Feb', 'Feb', 'Jan', 'Feb'],'day_of_week': ['Mon', 'Wed', 'Sun', 'Tue', 'Sat', 'Mon', 'Thu'],})
类似地 , 让我们创建两个自定义类别类型cat_day_of_week和cat_month , 并将它们传递给astype() 。
cat_day_of_week = CategoricalDtype(['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],ordered=True)cat_month = CategoricalDtype(['Jan', 'Feb', 'Mar', 'Apr'],ordered=True,)df['day_of_week'] = df['day_of_week'].astype(cat_day_of_week)df['month'] = df['month'].astype(cat_month)
要按多个变量排序 , 我们只需要传递一个列表来代替sort_values() 。 例如 , 按month和day_of_week排序 。
df.sort_values(['month', 'day_of_week'])
文章插图
按ustomer_id , month 和day_of_week排序 。
【如何对Pandas DataFrame进行自定义排序】df.sort_values(['customer_id', 'month', 'day_of_week'])
文章插图
- 纠结|硬杠红米Note9Pro?iQOO Z1跌至1575,对比之后纠结了!
- 对手|一加9Pro全面曝光,或是小米11最大对手
- 作家|逾万名作家联名反对亚马逊有声书轻松退换政策
- 芯片|华米GTS2mini和红米手表哪个好 参数功能配置对比
- 页面|如何简单、快速制作流程图?上班族的画图技巧get
- 培育|跨境电商人才如何培育,长沙有“谱”了
- 速度|华为P50Pro或采用很吓人的拍照技术:液体镜头让对焦速度更快
- 时尚先生|小米雷军成2020年最出圈企业家:获时尚双刊年度人物
- 抖音小店|抖音进军电商,短视频的商业模式与变现,创业者该如何抓住机遇?
- 电信|巴西电信协会及运营商发文 反对限制华为5G