日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python改变列的数据类型_python – Pandas:更改列的数据类型

發布時間:2025/3/11 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python改变列的数据类型_python – Pandas:更改列的数据类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

您可以使用

pd.to_numeric(在版本0.17中引入)將列或Series轉換為數字類型。該函數還可以使用apply應用于DataFrame的多個列。

重要的是,該函數還接受一個錯誤關鍵字參數,它允許您強制非數字值為NaN,或者簡單地忽略包含這些值的列。

示例使用如下所示。

單列/系列

這里有一個使用一系列字符串的例子,它有一個對象dtype:

>>> s = pd.Series(['1', '2', '4.7', 'pandas', '10'])

>>> s

0 1

1 2

2 4.7

3 pandas

4 10

dtype: object

該函數的默認行為是,如果它不能轉換一個值。在這種情況下,它不能處理字符串’熊貓’:

>>> pd.to_numeric(s) # or pd.to_numeric(s, errors='raise')

ValueError: Unable to parse string

而不是失敗,我們可能想要“熊貓”被認為是一個缺失/壞值。我們可以強制無效值到NaN,如下所示:

>>> pd.to_numeric(s, errors='coerce')

0 1.0

1 2.0

2 4.7

3 NaN

4 10.0

dtype: float64

第三個選項只是在遇到無效值時忽略操作:

>>> pd.to_numeric(s, errors='ignore')

# the original Series is returned untouched

多列/整個DataFrames

我們可能希望將此操作應用于多個列。依次處理每一列是乏味的,所以我們可以使用DataFrame.apply使該函數對每一列起作用。

借用DataFrame的問題:

>>> a = [['a', '1.2', '4.2'], ['b', '70', '0.03'], ['x', '5', '0']]

>>> df = pd.DataFrame(a, columns=['col1','col2','col3'])

>>> df

col1 col2 col3

0 a 1.2 4.2

1 b 70 0.03

2 x 5 0

然后我們可以寫:

df[['col2','col3']] = df[['col2','col3']].apply(pd.to_numeric)

現在“col2”和“col3”根據需要具有dtype float64。

但是,我們可能不知道哪些列可以可靠地轉換為數字類型。在這種情況下,我們可以寫:

df.apply(lambda x: pd.to_numeric(x, errors='ignore'))

然后該函數將應用于整個DataFrame。可以轉換為數字類型的列將被轉換,而不能(例如,它們包含非數字字符串或日期)的列將被單獨保留。

還有用于轉換為日期和時間戳的pd.to_datetime和pd.to_timedelta。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的python改变列的数据类型_python – Pandas:更改列的数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。