Как отобразить только верхние n самых высоких значений в гистограмме с накоплением в pandas df? - PullRequest
1 голос
/ 20 февраля 2020

У меня есть df, который выглядит следующим образом:

  CD1  CD2  CD3   ...  FG1  FG2
0 3.8  2.9  0     ...  0.1  0.1
1 0.1  0    4.1   ...  5.2  0
# 35 Colomns and 2 Rows

И я строю гистограмму с накоплением, используя:

colors = plt.cm.jet(np.linspace(0, 1, 35))
df3.plot(kind='barh',stacked=True, figsize=(15,10),color=colors, width=0.08)

Но моя проблема заключается в том, что это строит все 35 столбцов, однако я хотите построить только столбцы n с самыми высокими значениями, например, построить только CD1 и CD2 для строки 0 и CD3 и FG1 для строки 1 ...

  CD1  CD2  CD3   ...  FG1  FG2
0 3.8  2.9  -     ...  -     -
1  -    -   4.1   ...  5.2   -

Есть ли способ сделать это?

1 Ответ

0 голосов
/ 20 февраля 2020

Если я понимаю, о чем вы просите ... Кажется, вы можете выполнить sh, получив макс. для каждого столбца, а затем наименьший , чтобы выбрать вершину. 10 столбцов:

df.max().nlargest(10)

Результатом должен быть ряд, индексируемый по именам столбцов, поэтому эти данные должны легко отображаться.

...