欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)戰(zhàn)基礎(chǔ)之Pandas統(tǒng)計(jì)某個(gè)數(shù)據(jù)列的空值個(gè)數(shù)

 更新時(shí)間:2022年08月31日 09:07:33   作者:菜鳥實(shí)戰(zhàn)  
我們?cè)谔幚頂?shù)據(jù)的時(shí)候,經(jīng)常需要檢查數(shù)據(jù)的質(zhì)量,也需要知道出問題的數(shù)據(jù)在哪個(gè)位置,下面這篇文章主要給大家介紹了關(guān)于Python實(shí)戰(zhàn)基礎(chǔ)之利用Pandas統(tǒng)計(jì)某個(gè)數(shù)據(jù)列空值個(gè)數(shù)的相關(guān)資料,需要的朋友可以參考下

一、實(shí)戰(zhàn)場景

實(shí)戰(zhàn)場景:Pandas 如何統(tǒng)計(jì)某個(gè)數(shù)據(jù)列的空值個(gè)數(shù)

二、主要知識(shí)點(diǎn)

  • 文件讀寫
  • 基礎(chǔ)語法
  • 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é)

到此這篇關(guān)于Python實(shí)戰(zhàn)基礎(chǔ)之Pandas統(tǒng)計(jì)某個(gè)數(shù)據(jù)列空值個(gè)數(shù)的文章就介紹到這了,更多相關(guān)Pandas統(tǒng)計(jì)數(shù)據(jù)列空值個(gè)數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論