自己做游戲網(wǎng)站學(xué)什么大慶建站公司
數(shù)據(jù)分析-Pandas分類數(shù)據(jù)的比較如何避坑
數(shù)據(jù)分析和處理中,難免會遇到各種數(shù)據(jù),那么數(shù)據(jù)呈現(xiàn)怎樣的規(guī)律呢?不管金融數(shù)據(jù),風(fēng)控數(shù)據(jù),營銷數(shù)據(jù)等等,莫不如此。如何通過圖示展示數(shù)據(jù)的規(guī)律?
數(shù)據(jù)表,時間序列數(shù)據(jù)在數(shù)據(jù)分析建模中很常見,例如天氣預(yù)報,空氣狀態(tài)監(jiān)測,股票交易等金融場景。數(shù)據(jù)分析過程中重新調(diào)整,重塑數(shù)據(jù)表是很重要的技巧,此處選擇Titanic數(shù)據(jù),以及巴黎、倫敦歐洲城市空氣質(zhì)量監(jiān)測 N O 2 NO_2 NO2?數(shù)據(jù)作為樣例。
數(shù)據(jù)分析
數(shù)據(jù)分析-Pandas如何轉(zhuǎn)換產(chǎn)生新列
數(shù)據(jù)分析-Pandas如何統(tǒng)計數(shù)據(jù)概況
數(shù)據(jù)分析-Pandas如何輕松處理時間序列數(shù)據(jù)
數(shù)據(jù)分析-Pandas如何選擇數(shù)據(jù)子集
數(shù)據(jù)分析-Pandas如何重塑數(shù)據(jù)表-CSDN博客
本文用到的樣例數(shù)據(jù):
Titanic數(shù)據(jù)
空氣質(zhì)量監(jiān)測 N O 2 NO_2 NO2?數(shù)據(jù)
樣例代碼:
源代碼參考 Pandas如何重塑數(shù)據(jù)表
源代碼參考 python數(shù)據(jù)分析-數(shù)據(jù)表讀寫到pandas
導(dǎo)入關(guān)鍵模塊
import pandas as pd
import numpy as np
實驗數(shù)據(jù)分析處理,股票序列,時間序列,信號序列,有時候表格的數(shù)據(jù)并不完全是數(shù)值類型,也有可能是字符串,或者其他數(shù)據(jù),需要做分類處理。pandas如何控制數(shù)據(jù)分類處理呢?需要配置哪些參數(shù)?
分類數(shù)據(jù)的比較
有三種情況,可以將分類數(shù)據(jù)與其他對象進行比較:
- 與列表類的比較相等,例如相同長度的類似列表的對象(如列表、序列、數(shù)組…)。
- 分類數(shù)據(jù)之間的比較,它們對應(yīng)數(shù)值是否相同,比較操作包括
==``!=``>``>=``<``<=
。 - 分類數(shù)據(jù)的所有數(shù)值與標量的比較。
所有其他的比較,尤其是兩個類別的“不相等”比較,具有不同的 類別或具有任何類似列表的對象的分類將引發(fā) 錯誤.TypeError
In [112]: cat = pd.Series([1, 2, 3]).astype(CategoricalDtype([3, 2, 1], ordered=True))
In [113]: cat_base = pd.Series([2, 2, 2]).astype(CategoricalDtype([3, 2, 1], ordered=True))
In [114]: cat_base2 = pd.Series([2, 2, 2]).astype(CategoricalDtype(ordered=True))In [115]: cat
Out[115]:
0 1
1 2
2 3
dtype: category
Categories (3, int64): [3 < 2 < 1]In [116]: cat_base
Out[116]:
0 2
1 2
2 2
dtype: category
Categories (3, int64): [3 < 2 < 1]In [117]: cat_base2
Out[117]:
0 2
1 2
2 2
dtype: category
Categories (1, int64): [2]
具有相同類別和順序特性的分類比較,或與標量進行比較:
In [118]: cat > cat_base
Out[118]:
0 True
1 False
2 False
dtype: boolIn [119]: cat > 2
Out[119]:
0 True
1 False
2 False
dtype: bool
與類似列表對象的相等比較,適用于任何具有相同長度的類似列表對象,和標量的比較:
In [120]: cat == cat_base
Out[120]:
0 False
1 True
2 False
dtype: boolIn [121]: cat == np.array([1, 2, 3])
Out[121]:
0 True
1 True
2 True
dtype: boolIn [122]: cat == 2
Out[122]:
0 False
1 True
2 False
dtype: bool
當類別不相同時,比較就會報錯:
In [123]: try:.....: cat > cat_base2.....: except TypeError as e:.....: print("TypeError:", str(e)).....:
TypeError: Categoricals can only be compared if 'categories' are the same.
但是,如果要做不相等的比較,比如分類數(shù)據(jù)與類似列表的對象進行“不相等”比較,就需要顯式轉(zhuǎn)換為原始數(shù)據(jù)再做比較。:
In [124]: base = np.array([1, 2, 3])In [125]: try:.....: cat > base.....: except TypeError as e:.....: print("TypeError:", str(e)).....:
TypeError: Cannot compare a Categorical for op __gt__ with type <class 'numpy.ndarray'>.
If you want to compare values, use 'np.asarray(cat) <op> other'.In [126]: np.asarray(cat) > base
Out[126]: array([False, False, False])
當比較具有相同類別的兩個無序分類時,不考慮順序:
In [127]: c1 = pd.Categorical(["a", "b"], categories=["a", "b"], ordered=False)
In [128]: c2 = pd.Categorical(["a", "b"], categories=["b", "a"], ordered=False)In [129]: c1 == c2
Out[129]: array([ True, True])
以上代碼只是一個簡單示例,示例代碼中的表達式可以根據(jù)實際問題進行修改。
后面介紹下其他的展示形式。
覺得有用 收藏 收藏 收藏
點個贊 點個贊 點個贊
End
GPT專欄文章:
GPT實戰(zhàn)系列-ChatGLM3本地部署CUDA11+1080Ti+顯卡24G實戰(zhàn)方案
GPT實戰(zhàn)系列-LangChain + ChatGLM3構(gòu)建天氣查詢助手
大模型查詢工具助手之股票免費查詢接口
GPT實戰(zhàn)系列-簡單聊聊LangChain
GPT實戰(zhàn)系列-大模型為我所用之借用ChatGLM3構(gòu)建查詢助手
GPT實戰(zhàn)系列-P-Tuning本地化訓(xùn)練ChatGLM2等LLM模型,到底做了什么?(二)
GPT實戰(zhàn)系列-P-Tuning本地化訓(xùn)練ChatGLM2等LLM模型,到底做了什么?(一)
GPT實戰(zhàn)系列-ChatGLM2模型的微調(diào)訓(xùn)練參數(shù)解讀
GPT實戰(zhàn)系列-如何用自己數(shù)據(jù)微調(diào)ChatGLM2模型訓(xùn)練
GPT實戰(zhàn)系列-ChatGLM2部署Ubuntu+Cuda11+顯存24G實戰(zhàn)方案
GPT實戰(zhàn)系列-Baichuan2本地化部署實戰(zhàn)方案
GPT實戰(zhàn)系列-Baichuan2等大模型的計算精度與量化
GPT實戰(zhàn)系列-GPT訓(xùn)練的Pretraining,SFT,Reward Modeling,RLHF
GPT實戰(zhàn)系列-探究GPT等大模型的文本生成-CSDN博客