本篇介紹的是`pandas`選擇列數據的一個小技巧。之前已經介紹了很多選擇列數據的方式,比如`loc`,`iloc`函數,按列名稱選擇,按條件選擇等等。 這次介紹的是按照列的**數據類型**來選擇列,按類型選擇列可以幫助你快速選擇正確的數據類型,提高數據分析的效率。 # 1. 類型種類 `panda ...
本篇介紹的是pandas
選擇列數據的一個小技巧。
之前已經介紹了很多選擇列數據的方式,比如loc
,iloc
函數,按列名稱選擇,按條件選擇等等。
這次介紹的是按照列的數據類型來選擇列,按類型選擇列可以幫助你快速選擇正確的數據類型,提高數據分析的效率。
1. 類型種類
pandas
列的數據類型主要有4
大種類:
- number:數值類型,包括整數和浮點數
- object:主要是字元串類型
- catagory:分類類型
- datetime:日期類型
創建包含上述數據類型的測試數據:
import pandas as pd
df = pd.DataFrame(
{
"日期": [
"2020/04/10",
"2020/04/11",
"2021/06/17",
"2021/06/18",
"2022/11/22",
"2022/11/23",
],
"年級": ["初一", "初二", "初一", "初二", "初一", "初二"],
"學生": ["小紅", "小華", "小明", "小李", "小汪", "小鄭"],
"名次": [1, 1, 2, 3, 1, 3],
"平均成績": [98.5, 95.5, 92.0, 89.5, 99.0, 87.5],
},
)
df["日期"] = pd.to_datetime(df["日期"])
df["年級"] = df["年級"].astype("category")
print(df.dtypes)
df
2. 選擇類型
按列的類型選擇用 select_dtypes
函數。
2.1. 選擇一個類型
選擇一個類型時,用 include
參數指定列名。
df.select_dtypes(include="category")
number
類型包含 int
和 float
。
df.select_dtypes(include="number")
也可以指定 int
或 float
選擇整數或者浮點數。
df.select_dtypes(include="int")
df.select_dtypes(include="float")
2.2. 選擇多個類型
選擇多個類型還是 include
參數,不過傳入的值是列表。
df.select_dtypes(include=["category", "datetime"])
2.3. 指定不選的類型
include
參數是指定要選擇的類型,如果要選擇的類型比較多,我們可以通過exclude
參數來設置不需要的類型。
df.select_dtypes(exclude="datetime")
exclude
參數也可以傳入列表,設置多個不選擇的類型。
df.select_dtypes(exclude=["category", "datetime"])