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