Изменение типа данных для нескольких столбцов Pandas DataFrame - PullRequest
0 голосов
/ 12 июня 2018

У меня есть 19 столбцов (от q1 до q19) в DataFrame 'users', которые я хочу преобразовать из float в int.Вместо того, чтобы печатать вручную, есть ли способ автоматизировать процесс?

Код, который у меня пока есть:

users.q1 = users.q1.astype(int)

Ответы [ 3 ]

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

Передайте список столбцов, которые вы хотите изменить:

import pandas as pd

df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [2, 3, 8], 'C':[5, 9, 12]})

df1[['A', 'B']] = df1[['A', 'B']].astype('float')
print(df1)

Вывод:

    A    B   C
0  1.0  2.0   5
1  2.0  3.0   9
2  3.0  8.0  12

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

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

Вы можете попробовать это

df.loc[:, 'q1':'q19'] = df.loc[:, 'q1':'q19'].astype(int)
0 голосов
/ 12 июня 2018

Попробуйте это:

for i in users.columns:
    if <condition>:
        users[i] = users[i].astype(int)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...