Панды: конвертировать последние столбцы в числовые - PullRequest
0 голосов
/ 28 апреля 2019

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

Исходные данные

df = pd.DataFrame({
    'a': ['1','2','3','4','5'],
    'b': ['1','2','3','4','5'],
    'c': ['1','2','3','4','5'],
    'd': ['1','2','3','4','5'],
    'e': ['1','2','3','4','5']
})


df

    a   b   c   d   e
0   1   1   1   1   1
1   2   2   2   2   2
2   3   3   3   3   3
3   4   4   4   4   4
4   5   5   5   5   5

На самом деле я хочу сделать следующую динамическую (всегда последние два столбца вместо жестко закодированных'd' и 'e')

df[['d', 'e']] = df[['d', 'e']].apply(pd.to_numeric)

1 Ответ

2 голосов
/ 28 апреля 2019

df.columns[-2:] дает вам имена последних двух столбцов.так что вы можете попробовать:

df[df.columns[:-2]] = df[df.columns[:-2]].apply(pd.to_numeric)

Или вы можете использовать iloc:

df.iloc[:, -2:] = df.iloc[:, -2:].apply(pd.to_numeric)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...