網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
Python實(shí)戰(zhàn)基礎(chǔ)之Pandas統(tǒng)計(jì)某個(gè)數(shù)據(jù)列的空值個(gè)數(shù)_python
作者:菜鳥實(shí)戰(zhàn) ? 更新時(shí)間: 2022-10-26 編程語(yǔ)言一、實(shí)戰(zhàn)場(chǎng)景
實(shí)戰(zhàn)場(chǎng)景:Pandas 如何統(tǒng)計(jì)某個(gè)數(shù)據(jù)列的空值個(gè)數(shù)
二、主要知識(shí)點(diǎn)
- 文件讀寫
- 基礎(chǔ)語(yǔ)法
- Pandas
- numpy
三、菜鳥實(shí)戰(zhàn)
馬上安排!
1、創(chuàng)建 python 文件
"""
對(duì)如下DF,設(shè)置兩個(gè)單元格的值
·使用iloc 設(shè)置(3,B)的值是nan
·使用loc設(shè)置(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、運(yùn)行結(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
?補(bǔ)充: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())) # 只要有一個(gè)空值便會(huì)返回True,否則返回False
print(np.all(df2.isnull())) # 全部值都是空值便會(huì)返回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 ?# 直接給某個(gè)位置賦值
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 ?# 同時(shí)給D列賦多個(gè)值
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)方法會(huì)刪除有空值的行或列,
# axis為0是行,axis為1是列,
# how為any時(shí)該行或列只要有一個(gè)空值就會(huì)刪除,all是全都是空值才刪除
# subset是一個(gè)列表,指定某些列
df2.dropna(axis=0, how="any", subset=["A", "D"])
總結(jié)
原文鏈接:https://blog.csdn.net/qq_39816613/article/details/126151503
相關(guān)推薦
- 2022-01-16 npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR!
- 2022-09-17 C++中String類型的逆序方式_C 語(yǔ)言
- 2022-05-29 C/C++迭代器的失效問(wèn)題詳解_C 語(yǔ)言
- 2022-07-08 關(guān)于python中逆序的三位數(shù)_python
- 2022-10-27 React事件處理和表單的綁定詳解_React
- 2022-06-30 Python?pickle模塊實(shí)現(xiàn)Python對(duì)象持久化存儲(chǔ)_python
- 2022-07-12 Linux中xargs命令的用法
- 2022-10-27 golang?map的基本操作及定義方式_Golang
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支