# pandas使用numpy nan(np.nan)物件表示缺失值。這是乙個不等於自身的特殊物件
np.nan == np.nan
#false
# python的none物件是等於自身的
none == none
#true
# 所有和np.nan的比較都返回false,除了不等於:
9 > np.nan
#false
5 != np.nan
#true
# college_ugds_所有值和.0019比較,返回布林值dataframe
college = pd.read_csv('data/college.csv', index_col='instnm')
college_ugds_ = college.filter(like='ugds_')
college_ugds_.head() == .0019
ugds_white
ugds_black
ugds_hisp
ugds_asian
ugds_aian
ugds_nhpi
ugds_2mor
ugds_nra
ugds_unkn
instnm
alabama a & m university
false
false
false
true
false
true
false
false
false
university of alabama at birmingham
false
false
false
false
false
false
false
false
false
amridge university
false
false
false
false
false
false
false
false
false
university of alabama in huntsville
false
false
false
false
false
false
false
false
false
alabama state university
false
false
false
true
false
false
false
false
false
用dataframe和dataframe進行比較
# 用dataframe和dataframe進行比較
college_self_compare = college_ugds_ == college_ugds_
college_self_compare.head()
ugds_white
ugds_black
ugds_hisp
ugds_asian
ugds_aian
ugds_nhpi
ugds_2mor
ugds_nra
ugds_unkn
instnm
alabama a & m university
true
true
true
true
true
true
true
true
true
university of alabama at birmingham
true
true
true
true
true
true
true
true
true
amridge university
true
true
true
true
true
true
true
true
true
university of alabama in huntsville
true
true
true
true
true
true
true
true
true
alabama state university
true
true
true
true
true
true
true
true
true
用all()檢查是否所有的值都是true;這是因為缺失值不互相等於
# 用all()檢查是否所有的值都是true;這是因為缺失值不互相等於。
college_self_compare.all()
ugds_white false
ugds_black false
ugds_hisp false
ugds_asian false
ugds_aian false
ugds_nhpi false
ugds_2mor false
ugds_nra false
ugds_unkn false
dtype: bool
可以用==號判斷,然後求和
# 可以用==號判斷,然後求和
(college_ugds_ == np.nan).sum()
ugds_white 0
ugds_black 0
ugds_hisp 0
ugds_asian 0
ugds_aian 0
ugds_nhpi 0
ugds_2mor 0
ugds_nra 0
ugds_unkn 0
dtype: int64
統計缺失值最主要方法是使用isnull方法:
# 統計缺失值最主要方法是使用isnull方法:
college_ugds_.isnull().sum()
ugds_white 661
ugds_black 661
ugds_hisp 661
ugds_asian 661
ugds_aian 661
ugds_nhpi 661
ugds_2mor 661
ugds_nra 661
ugds_unkn 661
dtype: int64
比較兩個dataframe最直接的方法是使用equals()方法
# 比較兩個dataframe最直接的方法是使用equals()方法
from pandas.testing import assert_frame_equal
assert_frame_equal(college_ugds_, college_ugds_)
# eq()方法類似於==,和前面的equals有所不同
college_ugds_.eq(.0019).head()
ugds_white
ugds_black
ugds_hisp
ugds_asian
ugds_aian
ugds_nhpi
ugds_2mor
ugds_nra
ugds_unkn
instnm
alabama a & m university
false
false
false
true
false
true
false
false
false
university of alabama at birmingham
false
false
false
false
false
false
false
false
false
amridge university
false
false
false
false
false
false
false
false
false
university of alabama in huntsville
false
false
false
false
false
false
false
false
false
alabama state university
false
false
false
true
false
false
false
false
false
pyspark中dataframe缺失值填充
在工作中我們經常面對各種缺失值的處理,當使用pandas,缺失值可以使用fillna,指定method ffill或bfill就能實現 缺失值的前向或後向填充。但是在spark應用中,需要稍微做一些改變。比如說我們先建立乙個dataframe df spark.createdataframe a 1...
資料探勘之缺失資料缺失的各種插補演算法比較
實驗要求 完成插補實驗 實驗工具 1 excel 2 記事本txt檔案 3.pycharm 4 jbpcafill.jar包 中含有none,null 的字元,表示資料缺失,在 統計資料個數時,字元none,null 影響統計的數量,所以這些字元需要刪除。在first包裡的prepare.py裡。思...
DataFrame分組和聚合
一 分組 1 語法 grouped df.groupby by columns name grouped是乙個dataframegroupby物件,是可迭代的 遍歷 grouped中的每乙個元素都是乙個元祖 元祖 索引 分組的值 分組之後的dataframe 2 取值 grouped.count 獲...