Computer >> Máy Tính >  >> Lập trình >> Python

Python - Truyền kiểu dữ liệu của chỉ một cột trong Pandas DataFrame

Để truyền chỉ một cột, hãy sử dụng phương thức astype (). Đầu tiên chúng ta hãy tạo một DataFrame với 2 cột. Một trong số chúng là kiểu “float64” và một kiểu “int64” khác -

dataFrame = pd.DataFrame(
   {
      "Reg_Price": [7000.5057, 1500, 5000, 8000, 9000.75768, 6000],
      "Units": [90, 120, 100, 150, 200, 130]
   }
)

Kiểm tra các loại -

dataFrame.dtypes

Giả sử chúng ta chỉ cần truyền một cột duy nhất “Đơn vị” từ int64 đến int32. Đối với điều đó, hãy sử dụng astype () -

dataFrame.astype({'Units': 'int32'}).dtypes

Ví dụ

Sau đây là mã -

import pandas as pd

# Create DataFrame
dataFrame = pd.DataFrame(
   {
      "Reg_Price": [7000.5057, 1500, 5000, 8000, 9000.75768, 6000],
      "Units": [90, 120, 100, 150, 200, 130]
   }
)

print"DataFrame ...\n",dataFrame
print"\nDataFrame Types ...\n",dataFrame.dtypes
print"\nCast only a single column to int32..."

print"\nUpdated DataFrame Types ...\n",dataFrame.astype({'Units': 'int32'}).dtypes


Đầu ra

Điều này sẽ tạo ra kết quả sau -

DataFrame ...
   Reg_Price   Units
0 7000.50570     90
1 1500.00000    120
2 5000.00000    100
3 8000.00000    150
4 9000.75768    200
5 6000.00000    130

DataFrame Types ...
Reg_Price   float64
Units         int64
dtype: object

Cast only a single column to int32...

Updated DataFrame Types ...
Reg_Price   float64
Units         int32
dtype: object