Python實戰(zhàn)基礎之Pandas統(tǒng)計某個數(shù)據(jù)列的空值個數(shù)
一、實戰(zhàn)場景
實戰(zhàn)場景:Pandas 如何統(tǒng)計某個數(shù)據(jù)列的空值個數(shù)
二、主要知識點
- 文件讀寫
- 基礎語法
- Pandas
- numpy
三、菜鳥實戰(zhàn)
馬上安排!
1、創(chuàng)建 python 文件
""" 對如下DF,設置兩個單元格的值 ·使用iloc 設置(3,B)的值是nan ·使用loc設置(8,D)的值是nan """ import numpy as np import pandas as pd np.random.seed(66) df = pd.DataFrame(np.random.rand(10, 4), columns=list('ABCD')) df.iloc[3, 1] = np.nan df.loc[8, 'D'] = np.nan print(df) print(df.isnull().sum())
2、運行結(jié)果
A B C D
0 0.154288 0.133700 0.362685 0.679109
1 0.194450 0.251210 0.758416 0.557619
2 0.514803 0.467800 0.087176 0.829095
3 0.298641 NaN 0.678006 0.903489
4 0.514451 0.539105 0.664328 0.634057
5 0.353419 0.026643 0.165290 0.879319
6 0.067820 0.369086 0.115501 0.096294
7 0.083770 0.086927 0.022256 0.771043
8 0.049213 0.465223 0.941233 NaN
9 0.361318 0.031319 0.304045 0.188268
A 0
B 1
C 0
D 1
dtype: int64
補充:Pandas檢查是否有空值、處理空值
1.創(chuàng)建有空值的DataFrame
import numpy as np import pandas as pd dates = pd.date_range("20200307", periods=4) df1 = pd.DataFrame(np.arange(12).reshape(4, 3), index=dates, columns=["A", "B", "C"]) df2 = pd.DataFrame(df1, index=dates, columns=["A", "B", "C", "D"]) ?# 新增D列,卻不賦值,NaN表示空值 print(df2) # 打印輸出: # ? ? ? ? ? ? A ? B ? C ? D # 2020-03-07 ?0 ? 1 ? 2 NaN # 2020-03-08 ?3 ? 4 ? 5 NaN # 2020-03-09 ?6 ? 7 ? 8 NaN # 2020-03-10 ?9 ?10 ?11 NaN
2.檢查是否有空值
print(df2.isnull()) # 是空值返回True,否則返回False print(np.any(df2.isnull())) # 只要有一個空值便會返回True,否則返回False print(np.all(df2.isnull())) # 全部值都是空值便會返回True,否則返回False # 輸出結(jié)果: # A B C D # 2020-03-07 False False False True # 2020-03-08 False False False True # 2020-03-09 False False False True # 2020-03-10 False False False True # True # False
3.給NaN賦值
df2.iloc[0, 3] = 10 ?# 直接給某個位置賦值 print(df2) # 打印輸出: # ? ? ? ? ? ?A ? B ? C ? ? D # 2020-03-07 ?0 ? 1 ? 2 ?10.0 # 2020-03-08 ?3 ? 4 ? 5 ? NaN # 2020-03-09 ?6 ? 7 ? 8 ? NaN # 2020-03-10 ?9 ?10 ?11 ? NaN series = pd.Series([11, 12, 13], index=dates[1:4]) df2["D"] = series ?# 同時給D列賦多個值 print(df2) # 打印輸出: # ? ? ? ? ? ? A ? B ? C ? ? D # 2020-03-07 ?0 ? 1 ? 2 ? NaN # 2020-03-08 ?3 ? 4 ? 5 ?11.0 # 2020-03-09 ?6 ? 7 ? 8 ?12.0 # 2020-03-10 ?9 ?10 ?11 ?13.0
4.去除有空值的行或列
df2.loc["2020-03-10", ["A", "B", "C"]] = [11, 12, 15] df2.fillna("null") ?# 把空值填充成null # dropna(axis,how,subset)方法會刪除有空值的行或列, # axis為0是行,axis為1是列, # how為any時該行或列只要有一個空值就會刪除,all是全都是空值才刪除 # subset是一個列表,指定某些列 df2.dropna(axis=0, how="any", subset=["A", "D"])
總結(jié)
到此這篇關于Python實戰(zhàn)基礎之Pandas統(tǒng)計某個數(shù)據(jù)列空值個數(shù)的文章就介紹到這了,更多相關Pandas統(tǒng)計數(shù)據(jù)列空值個數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python實現(xiàn)PPT/PPTX批量轉(zhuǎn)換成PDF
這篇文章主要為大家詳細介紹了如何使用Python將PowerPoint演示文稿(PPT、PPTX等)轉(zhuǎn)換為PDF文件,使演示內(nèi)容能夠在更多的設備上展示,感興趣的小伙伴可以了解下2024-01-01Django實現(xiàn)文章詳情頁面跳轉(zhuǎn)代碼實例
這篇文章主要介紹了Django實現(xiàn)文章詳情頁面跳轉(zhuǎn)代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-09-09