Автор оригинала: Python Examples.
ИЗМЕНЕНИЕ TATATYPE TATAFAFRAME столбцов в Pands
Чтобы изменить типографский тип столбцов DataFrame, используйте метод dataframe.astype (), метод dataframe.infer_Objects () или pd.to_numeric.
В этом руководстве мы подробно пройдем некоторые из этих процессов, используя примеры.
Способ 1 – Использование dataframe.astype ()
Dataframe.astype () отказывается от этого dataframe в указанный тип данных. Ниже приведен синтаксис метода ASTYPE ().
astype(dtype, copy=True, errors='raise', **kwargs)
Мы заинтересованы только в первом аргументе Dtype. DTYPE – это тип данных или диктография имени столбца -> Тип данных.
Итак, давайте будем использовать метод ASTYPE () с аргументом DTYPE, чтобы изменить DataType одного или нескольких столбцов DataFrame.
Изменить тип данных одного столбца
Давайте сначала начнем с изменение DataType всего одного столбца.
В следующей программе мы изменим тип данных столбца А к плавать Отказ
Python Program
import pandas as pd import numpy as np #initialize a dataframe df = pd.DataFrame( [[21, 72, 67], [23, 78, 62], [32, 74, 54], [52, 54, 76]], columns=['a', 'b', 'c']) print('Previous Datatypes\n', df.dtypes, sep='') #change datatype of column df = df.astype({'a': np.float}) #print results print('\nNew Datatypes\n', df.dtypes, sep='') print('\nDataFrame\n', df, sep='')
Выход
Previous Datatypes a int64 b int64 c int64 dtype: object New Datatypes a float64 b int64 c int64 dtype: object DataFrame a b c 0 21.0 72 67 1 23.0 78 62 2 32.0 74 54 3 52.0 54 76
Изменить тип данных из нескольких столбцов
Теперь давайте изменим DataType более одного столбца. Все, что мы должны сделать, это обеспечить больше столбец_name: ключ данных данных: Пары значения в аргументе к методу ASTYPE ().
В следующей программе мы изменим тип данных столбца А к плавать и B к int8 Отказ
Python Program
import pandas as pd import numpy as np #initialize a dataframe df = pd.DataFrame( [[21, 72, 67], [23, 78, 62], [32, 74, 54], [52, 54, 76]], columns=['a', 'b', 'c']) print('Previous Datatypes\n', df.dtypes, sep='') #change datatype of column df = df.astype({'a': np.float, 'b': np.int8}) #print results print('\nNew Datatypes\n', df.dtypes, sep='') print('\nDataFrame\n', df, sep='')
Выход
Previous Datatypes a int64 b int64 c int64 dtype: object New Datatypes a float64 b int8 c int64 dtype: object DataFrame a b c 0 21.0 72 67 1 23.0 78 62 2 32.0 74 54 3 52.0 54 76
Изменить тип данных всех столбцов
Если вы хотите изменить DataType всех столбцов DataFrame, вы можете просто передавать этот тип данных в качестве аргумента в ASTYPE () метод, без необходимости словаря.
В следующей программе мы изменим DataType всей столбцы в плавать Отказ
Python Program
import pandas as pd import numpy as np #initialize a dataframe df = pd.DataFrame( [[21, 72, 67], [23, 78, 62], [32, 74, 54], [52, 54, 76]], columns=['a', 'b', 'c']) print('Previous Datatypes\n', df.dtypes, sep='') #change datatype of column df = df.astype(np.float) #print results print('\nNew Datatypes\n', df.dtypes, sep='') print('\nDataFrame\n', df, sep='')
Выход
Previous Datatypes a int64 b int64 c int64 dtype: object New Datatypes a float64 b float64 c float64 dtype: object DataFrame a b c 0 21.0 72.0 67.0 1 23.0 78.0 62.0 2 32.0 74.0 54.0 3 52.0 54.0 76.0
Способ 2 – pd.to_numeric
Подумайте, что вы импортировали DataFrame из Excel, CSV или некоторых других источников, и вы получили все строковые значения для элементов DataFrame. Типа этих колонн может быть объектом. И вы хотели бы преобразовать DataType всех этих столбцов для установки числовых данных типов.
Используйте следующий синтаксис для преобразования столбцов DataType из столбцов DataFrame в числовую.
df = df.apply(pd.to_numeric)
Python Program
import pandas as pd import numpy as np #initialize a dataframe df = pd.DataFrame( [['21', '72', '67'], ['23', '78', '62'], ['32', '74', '54'], ['52', '54', '76']], columns=['a', 'b', 'c']) print('Previous Datatypes\n', df.dtypes, sep='') #change datatype of all columns df = df.apply(pd.to_numeric) #print results print('\nNew Datatypes\n', df.dtypes, sep='') print('\nDataFrame\n', df, sep='')
Выход
Previous Datatypes a object b object c object dtype: object New Datatypes a int64 b int64 c int64 dtype: object DataFrame a b c 0 21 72 67 1 23 78 62 2 32 74 54 3 52 54 76
Резюме
Подводя итоги этого учебника Python, мы узнали, как изменить тип данных столбцов в DataFrame.