Рубрики
Без рубрики

Как изменить datatype колонн в pandas dataframe?

Автор оригинала: 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.