3 個(gè)不常見但非常實(shí)用的Pandas 使用技巧

來源:DeepHub IMBA 本文共1000字,建議閱讀5分鐘 本文為你演示一些不常見,但是卻非常有用的 Pandas 函數(shù)。
import numpy as npimport pandas as pddf = pd.DataFrame({"date": pd.date_range(start="2021-11-20", periods=100, freq="D"),"class": ["A","B","C","D"] * 25,"amount": np.random.randint(10, 100, size=100)})df.head()

1. To_period
df["month"] = df["date"].dt.to_period("M")df["quarter"] = df["date"].dt.to_period("Q")df.head()

df["month"].value_counts()# output2021-12 312022-01 312022-02 272021-11 11Freq: M, Name: month, dtype: int64--------------------------df["quarter"].value_counts()# output2022Q1 582021Q4 42Freq: Q-DEC, Name: quarter, dtype: int64
2. Cumsum 和 groupby
df["cumulative_sum"] = df["amount"].cumsum()df.head()

df["class_cum_sum"] = df.groupby("class")["amount"].cumsum()讓我們查看 A 類的結(jié)果。
df[df["class"]=="A"].head()3. Category數(shù)據(jù)類型
df.dtypes# outputdate datetime64[ns]class objectamount int64month period[M]quarter period[Q-DEC]cumulative_sum int64class_cum_sum int64
= df["class"].astype("category")df.dtypes# outputdate datetime64[ns]class objectamount int64month period[M]quarter period[Q-DEC]cumulative_sum int64class_cum_sum int64class_category categorydtype: object
df.memory_usage()# outputIndex 128date 800class 800amount 800month 800quarter 800cumulative_sum 800class_cum_sum 800class_category 304dtype: int64
評(píng)論
圖片
表情

