0
負載數據集
dataImf = pd.read_csv('/home/anubhav/datasets/lifesat/gdp_per_capita.csv', thousands=',', delimiter='\t', encoding='latin1',na_values='n/a')
收集在每列中的唯一條目。
dum11,dum22,dum33 = dataImf.Country.unique() , dataImf['GDP per capita'].unique() , dataImf['Estimates Start After'].unique()
最小值,最大值,長度獨特條目如果需要&打印。
print(dum22.min(),"-->",dum22.max(),len(dum22),"\n",np.sort(dum22),"\n")
#nan --> nan 188
print(dataImf['GDP per capita'].min(),"-->",dataImf['GDP per capita'].max(),len(dum22),"\n",np.sort(dum22),"\n")
#220.86 --> 101994.093 188
print(dum33.min(),"-->",dum33.max(),len(dum33),"\n",np.sort(dum33),"\n")
#nan --> nan 17
print(dataImf['Estimates Start After'].min(),"-->",dataImf['Estimates Start After'].max(),len(dum33),"\n",np.sort(dum33),"\n")
#0.0 --> 2015.0 17
問題:如果我拿出唯一的值,然後嘗試獲得最小。它輸出NaN,但如果我不應用任何unique()方法並使用df ['col_name'] .min()或max(),它將輸出正確的值。 (我從列的所有'n'實例中取出不同的值,以避免重複搜索來減少搜索最小或最大函數。) 請考慮unique()方法後爲什麼輸出是NaNs。爲什麼NaN在列中找到Min&Max時被打印?