首先,了解一下pandas的資料型別:
pandas dtype
python type
numpy type
usage
object
str or mixed
string_, unicode_, mixed types
text or mixed numeric and non-numeric values
int64
intint_, int8, int16, int32, int64, uint8, uint16, uint32, uint64
integer numbers
float64
float
float_, float16, float32, float64
floating point numbers
bool
bool
bool_
true/false values
datetime64
nadatetime64[ns]
date and time values
timedelta[ns]
nana
differences between two datetimes
category
nana
finite list of text values
notes:object在載入資料時可以處理任何其他資料型別,包括字串,所以在pandas新版本1.0.0中新增了一資料型別,stringdtype,,專用來處理字串。也算是乙個改進。
兩個重要的資料轉化方法
1、astype
dataframe.astype(dtype, copy =
true
, errors =
'raise')or
series.astype(dtype, copy =
true
, errors =
'raise'
)
上述方法可以將一類資料轉換型別或者傳入乙個dict,列為key,需要轉化的資料型別為value。
2、convert_dtypes
dataframe.convert_dtypes(infer_objects =
true
, convert_string:
true
, convert_integer =
true
, convert_boolean =
true)or
series.convert_dtypes(infer_objects =
true
, convert_string:
true
, convert_integer =
true
, convert_boolean =
true
)
convert_dtypes可以自動推斷資料型別並進行轉化。個人感覺,這個方法只在識別string上智慧型,在int推斷時還是會盡可能的選擇大高位儲存,int還是以int64為主,記憶體消耗還是很大。
舉例:
df = pd.dataframe(
)df.dtypes
a int64
b float64
c object
dtype:
object
df[
'a']
= df[
'a']
.astype(np.int32)
df.dtypes
a int32
b float64
c object
dtype:
object
df.convert_dtypes(
).dtypes
a int64
b float64
c string
dtype:
object
參考: pandas 資料型別 Series
首先載入庫 import numpy as np import pandas as pdpython list列表建立series a pd.series 1,2,3,4 預設索引 b pd.series 1,2,3,4 index a b c d 自定義索引 s pd.series true,1,...
Pandas的DataFrame資料型別
pandas的dataframe資料型別 縱軸表示不同索引axis 0,橫軸表示不同列axis 1 dataframe型別建立 1.從二維ndarray物件建立 import pandas as pd import numpy as np d pd.dataframe np.arange 10 re...
pandas 一 Series資料型別
二維資料 高維資料 series由一組資料與資料的索引組成的資料 aa pd.series 1,2,3,4,5 011 2233 445pd.series 1,2,3,4,5 index a b c d e a 1 b 2 c 3 d 4 e 5pd.series 2 index a b c a 2...