[英]Pandas dataframe value_counts count same values seperately as unique values
我嘗試更換? 在具有列模式的數據集中。
首先,我使用檢查該列中的唯一值
df['bare_nucleoli'].value_counts()
這是結果
1 402
10 132
5 30
2 30
3 28
8 21
4 19
? 16
9 9
7 8
6 4
Name: bare_nucleoli, dtype: int64
所以我決定先把問號改成NaN,以便檢查其他列中的標記
import numpy as np
df.replace('?',np.nan, inplace = True)
然后將 NaN 更改為該列的模式,即 1。
df['bare_nucleoli'].fillna(1, inplace = True)
結果表明它改變了 NaN 值,但它被單獨計為另一個像這樣的唯一值
1 402
10 132
5 30
2 30
3 28
8 21
4 19
1 16
9 9
7 8
6 4
Name: bare_nucleoli, dtype: int64
這背后的原因是什么?如何更改值並將其放在同一組中?
只是猜測,但如果您嘗試 df.dtypes,您可能會發現第一列是 object 類型。 可能第一個是字符串 '1' 而不是數字 1。
它可能是一個字符串而不是 integer。 你可以更簡單地完成你的目標
bare_nucleoli_mode = df['bare_nucleoli'].mode()
df['bare_nucleoli'] = df['bare_nucleoli'].replace('?', bare_nucleoli_mode)`.
嘗試:
df.loc[df['bare_nucleoli'] == '?'] = 1
df['bare_nucleoli'].value_counts()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.