突出显示数据框中按顺序排列的前 10 条记录

需要帮助突出显示排名最高的前 10 家商店。销售额


import pandas as pd


import numpy as np


import matplotlib.pyplot as plt

% matplotlib inline 

import seaborn as sns 


store = pd.read_csv("https://github.com/Kevin-ck1/Intro-To-Data-Science/blob/master/Clothing.csv")


store.head()

数据集的变量名如下图


tsale   sales   margin  nown    nfull   npart   naux    hoursw  hourspw     inv1    inv2    ssize   start


肥皂起泡泡
浏览 136回答 2
2回答

炎炎设计

当然!我们可以通过首先找到排名前 10 的商店的索引来做到这一点。完成此操作后,我们将样式函数应用于每一行,并检查当前行索引(此处存储在 中row.name)是否位于先前确定的前 10 个商店的索引中。如果是:我们返回一个突出显示该行的列表,如果不是:我们根本不设置该行的样式。def highlight_top(df, n=1):    def _highlight_top(row, index):        if row.name in index:            return ["background-color: yellow" for _ in row]        return ["" for _ in row]        top_stores = df.nlargest(n, "sales")    top_idx = top_stores.index.values    return df.style.apply(_highlight_top, index=top_idx, axis=1)    # subset our data for testing purposes by only taking the first 10 rowstest_data = store.head(10)# highlight the top 5 stores in terms of saleshighlight_top(test_data, n=5)

侃侃无极

检查你的数据:ParserError: Error tokenizing data. C error: Expected 1 fields in line 53, saw 2查找字符串中的分隔符。您还可以尝试: error_bad_lines= read_csv中的False参数
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python