Как выполнить несколько изменений типа данных pandas для разных столбцов с помощью одной функции? - PullRequest
0 голосов
/ 11 июня 2018

У меня есть 41 столбец в кадре данных, из этих 22 я хочу изменить тип данных на «str», за исключением 1 столбца, который я хочу изменить на «float».

В настоящее время я делаю эту строку кода, чтобы изменить отдельные столбцы на тип данных str или float, теперь делаю это для 20 других столбцов:

df.active  = df.active.astype(str)
df.total_spent = df.total_spent.astype(float)

Как написать функцию, котораяпринимает столбцы, которые я хочу сделать в строку и один столбец выше, который я хочу, как float?

Дайте мне знать, если вы хотите список столбцов, я думал, что это будет слишком много на данный момент.

Заранее спасибо.

1 Ответ

0 голосов
/ 11 июня 2018

Я считаю, что нужно выбрать столбцы по списку имен или по позициям и конвертации:

df = pd.DataFrame({'A':list('abcdef'),
                   'B':[4,5,4,5,5,4],
                   'C':[7,8,9,4,2,3],
                   'D':[1,3,5,7,1,0],
                   'E':[5,3,6,9,2,4],
                   'F':list('aaabbb')})

Если хотите выбрать столбцы по именам:

c = ['B', 'C']
df[c] = df[c].astype(str)

Если хотите выбрать столбцы по позициям:

p = [1,2]
df.iloc[:, p] = df.iloc[:, p].astype(str)

print (df.dtypes)
A    object
B    object
C    object
D     int64
E     int64
F    object
dtype: object
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...