1
我在大型數據框上使用熊貓0.18.1。我對value_counts()
的行爲感到困惑。這是我的代碼:爲什麼value_counts不顯示所有值?
print df.phase.value_counts()
def normalise_phase(x):
print x
return int(str(x).split('/')[0])
df['phase_normalised'] = df['phase'].apply(normalise_phase)
此打印如下:
2 35092
3 26248
1 24646
4 22189
1/2 8295
2/3 4219
0 1829
dtype: int64
1
nan
兩個問題:
- 爲什麼
nan
印刷爲一體的normalise_phase
輸出,當nan
沒有被列爲value_counts
的值? - 爲什麼
value_counts
顯示dtype
作爲int64
如果有字符串值就像它1/2
和nan
嗎?
謝謝!我不知道'value_counts'減少了'NaN'值,這感覺很不直觀。 – Richard
@Richard在基本操作中,熊貓的默認行爲是忽略NaN(例如,當取得和時,numpy在這種情況下返回nan)。我想在value_counts NaNs被放棄是一致的,但我同意,當我第一次意識到這一點時,我很驚訝。 – ayhan