程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Pandas數據分析07——pandas數據類型的轉換

編輯:Python

 參考書目:《深入淺出Pandas:利用Python進行數據處理與分析》


pandas的數據類型有很多,一列一種,但是可以相互轉換。主要是用astype的方法

首先讀取案例數據

import numpy as np
import pandas as pd
import datetime
data = 'https://www.gairuo.com/file/data/dataset/team.xlsx'
df = pd.read_excel(data) 

數據初始化時指定類型

df = pd.DataFrame(data, dtype='float32') # 對所的字段指定類型
# 每個字段分別指定
df = pd.read_excel(data, dtype={'team': 'string', 'Q1': 'int32'})

推斷類型

# 自動轉換合適的數據類型
df.convert_dtypes() # 推薦!新的方法,支持 string 類型
df.infer_objects()
df.infer_objects().dtypes
df.convert_dtypes().dtypes

指定類型

# 按大體類型推定
m = ['1', 2, 3]
s = pd.to_numeric(m) # 轉成數字
pd.to_datetime(m) # 轉成時間
pd.to_timedelta(m) # 轉成時差
pd.to_datetime(m, errors='coerce') # 錯誤處理
pd.to_numeric(m, errors='ignore')
pd.to_numeric(m ,errors='coerce').fillna(0) # 兜底填充
pd.to_datetime(df[['year', 'month', 'day']]) # 組合成日期
## 應用函數
df.apply(pd.to_timedelta) #pd.to_numeric

類型轉化

df.dtypes # 查看數據類型
df.Q1.astype('int32').dtypes #dtype('int32')
df.index.astype('int64') # 索引類型轉換
df.astype('int32') # 所有數據轉換為 int32
df.astype({'col1': 'int32'}) # 指定字段轉指定類型
s.astype('int64')
s.astype('int64', copy=False) # 不與原數據關聯
s.astype(np.uint8)
df['name'].astype('object')
data['Q4'].astype('float')
s.astype('datetime64[ns]')
data['狀態'].astype('bool')

轉換時間

#常用 pd.to_datetime() 和 s.astype('datetime64[ns]')
t=pd.Series(['20210806','20210808'])
pd.to_datetime(t)
t.astype('datetime64[ns]')


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved