iT邦幫忙

2023 iThome 鐵人賽

DAY 11
0
自我挑戰組

我與熊貓Pandas相處的日子系列 第 11

Day11- 資料探索(4)類型轉換

  • 分享至 

  • xImage
  •  

若發現資料類型不適用於接下來的分析,可使用DataFrame.astype()函式來進行轉換,將目前資料類型轉換為特定的資料類型。

DataFrame.astype(dtype,copy=True,errors='raise')

dtype:指定欲轉換之資料類別。
copy:布林值, True 時返回一個副本。
errors:兩個選項(1)raise:允許發生異常(2)ignore:若發生異常,將返回原始物件。

建立DataFrame,原始資料類型為int64。

import pandas as pd
df=pd.DataFrame([[8,7,6,5,4],[3,4,2,9,5],[4,6,7,2,8],[2,7,6,3,9]],index=['小明','小美','小英','小玉'],columns=['蘋果','芭樂','香蕉','橘子','檸檬'])
print(df)
df.dtypes

執行結果:
     蘋果  芭樂  香蕉  橘子  檸檬 
小明   8   7   6   5   4
小美   3   4   2   9   5
小英   4   6   7   2   8
小玉   2   7   6   3   9
蘋果    int64
芭樂    int64
香蕉    int64
橘子    int64
檸檬    int64
dtype: object

針對某特定欄位轉換資料類型

df['蘋果'] = df['蘋果'].astype(str)
df.dtypes

執行結果:
蘋果    object
芭樂     int64
香蕉     int64
橘子     int64
檸檬     int64
dtype: object

針對數個欄位轉換資料類型

 df[['蘋果','芭樂']] = df[['蘋果','芭樂']].astype(str)
 df.dtypes

執行結果:
蘋果    object
芭樂    object
香蕉     int64
橘子     int64
檸檬     int64
dtype: object

對整個DataFrame,全部資料一起轉換資料類型

df1 = df.astype('object').dtypes
print(df1)

執行結果:
蘋果    object
芭樂    object
香蕉    object
橘子    object
檸檬    object
dtype: object

亦可使用apply()及lambda函數轉換資料類型

df['蘋果'] = df['蘋果'].apply(lambda _: str(_))
df.dtypes

執行結果:
蘋果    object
芭樂     int64
香蕉     int64
橘子     int64
檸檬     int64
dtype: object

明天再繼續加油囉~ /images/emoticon/emoticon10.gif


上一篇
Day10- 資料探索(3)資料篩選
下一篇
Day12- 資料探索(5)日期與時間
系列文
我與熊貓Pandas相處的日子30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言