1. 計(jì)算空值個(gè)數(shù)
計(jì)算空值的個(gè)數(shù),采用pandas中的isnull()函數(shù),它可以直接判斷每一個(gè)數(shù)據(jù)知否是空值,返回的是bool變量,繼而df.isnull().sum()即可判斷每一列的空值總數(shù)。如下代碼所示。
input_file = "E:\\attr.csv"
df = pd.read_csv(input_file, header=0, encoding='utf-8')
print(df.isnull().sum())
返回結(jié)果是pandas.core.series.Series,左邊是列的名稱,右側(cè)是空值的個(gè)數(shù)??筛鶕?jù)需要進(jìn)行數(shù)值提取。
value 0
source 0
target 0
from 0
to 0
交通運(yùn)輸、倉儲(chǔ)和郵政業(yè) 27462
住宿和餐飲業(yè) 29064
信息傳輸、軟件和信息技術(shù)服務(wù)業(yè) 26912
農(nóng)、林、牧、漁業(yè) 27081
制造業(yè) 26259
衛(wèi)生和社會(huì)工作 30995
居民服務(wù)、修理和其他服務(wù)業(yè) 25838
建筑業(yè) 26788
房地產(chǎn)業(yè) 28147
批發(fā)和零售業(yè) 29278
教育 30603
文化、體育和娛樂業(yè) 28013
水利、環(huán)境和公共設(shè)施管理業(yè) 30279
電力、熱力、燃?xì)饧八a(chǎn)和供應(yīng)業(yè) 28874
科學(xué)研究和技術(shù)服務(wù)業(yè) 27287
租賃和商務(wù)服務(wù)業(yè) 28018
采礦業(yè) 34193
金融業(yè) 28316
dtype: int64
2. 計(jì)算零值的個(gè)數(shù)
零值的計(jì)算采用了條件判斷,如下所示,
input_file = "E:\\attr.csv"
df = pd.read_csv(input_file, header=0, encoding='utf-8')
for col in list(df.columns):
zero = len(df[df[col] == 0])
print('%s, 零值:%d' % (col, zero))
輸出結(jié)果如下:
value, 零值:0
source, 零值:0
target, 零值:0
from, 零值:0
to, 零值:0
交通運(yùn)輸、倉儲(chǔ)和郵政業(yè), 零值:2831
住宿和餐飲業(yè), 零值:4167
信息傳輸、軟件和信息技術(shù)服務(wù)業(yè), 零值:2071
農(nóng)、林、牧、漁業(yè), 零值:3005
制造業(yè), 零值:343
衛(wèi)生和社會(huì)工作, 零值:7125
居民服務(wù)、修理和其他服務(wù)業(yè), 零值:2662
建筑業(yè), 零值:2083
房地產(chǎn)業(yè), 零值:5169
批發(fā)和零售業(yè), 零值:849
教育, 零值:7870
文化、體育和娛樂業(yè), 零值:1613
水利、環(huán)境和公共設(shè)施管理業(yè), 零值:6225
電力、熱力、燃?xì)饧八a(chǎn)和供應(yīng)業(yè), 零值:7863
科學(xué)研究和技術(shù)服務(wù)業(yè), 零值:1443
租賃和商務(wù)服務(wù)業(yè), 零值:895
采礦業(yè), 零值:8976
金融業(yè), 零值:1484
應(yīng)該是有更簡(jiǎn)單的方法,以后學(xué)習(xí)到了再補(bǔ)充,目前用這個(gè)就夠了。