Панды: Выбор последних "N" столбцов - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть df, в котором я пытаюсь выбрать последнюю половину столбцов (выбор по метке столбца невозможен из-за переменного количества столбцов).

length = len(rec_df.columns)
print(length)
selection = rec_df.columns[-length/2:]
print(selection)

Совершенно ясно, когда я печатаю length, я получаю 6, но я получаю ошибку при использовании переменной length для индексации.

Однако, если я просто изменю -length/2: -> -3:, это сработает.Как заставить эту работу работать с переменной length?

Заранее спасибо за помощь

Ответы [ 2 ]

0 голосов
/ 19 февраля 2019

Индексы слайсов должны быть целыми числами, попробуйте это:

length = int(len(rec_df.columns)/2)
print(length)
selection = rec_df.columns[-length:]
print(selection)
0 голосов
/ 19 февраля 2019

df.columns[len(df.columns) - n:] делает то, что вы хотите достичь?Поскольку вы запросили n столбцов.

df = pd.DataFrame([range(6), range(6), range(6), range(6), range(6), range(6)], columns=['a', 'b', 'c', 'd', 'e', 'f'])
df
#   a  b  c  d  e  f
#0  0  1  2  3  4  5
#1  0  1  2  3  4  5
#2  0  1  2  3  4  5
#3  0  1  2  3  4  5
#4  0  1  2  3  4  5
#5  0  1  2  3  4  5

n = 2
df.columns[len(df.columns) - n:]
#Index([u'e', u'f'], dtype='object')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...