Можно ли исключить индексный столбец из представления в Dataframe? - PullRequest
1 голос
/ 30 сентября 2019

Я хочу исключить столбец Index из представления Dataframe: я сортирую весь dataframe на основе значений (в порядке убывания) и присваиваю ранги. Это прекрасно работает, однако столбец индекса немного вводит в заблуждение (особенно в рейтинге). Я уже пытался заменить столбец Index и использовал столбец Rank в качестве индекса, используя

df.set_index ('Rank', inplace = True)

Однакосортировка тогда приостановлена, и я могу получить ключевую ошибку, если 2 человека (как здесь) имеют одинаковый ранг. Мой код:

from scipy.stats import rankdata
import pandas as pd
from tabulate import tabulate

names = ['Tim', 'Tom', 'Sam', 'Kyle']
values = [2, 4, 5, 4]
df = pd.DataFrame({'Name': names,'Values': values})
columns = ["Name", "Values"]
df['Rank'] = df['Values'].rank(method='dense', ascending=False).astype(int)
df.sort_values(by="Rank", ascending=True)

enter image description here

1 Ответ

0 голосов
/ 30 сентября 2019

Большинство (возможно, все?) Из панд to_... методов принимают аргумент index. Если вы установите значение False, индекс не будет отображаться. Если вам действительно нужен красивый вывод HTML в Jupyter, тогда выполните

from IPython.display import HTML
HTML(df.sort_values(by="Rank", ascending=True).to_html(index=False))
...