【Python】DataFrameのCounterについて
Python初心者です。
DataFrameの要素をカウントしたいのですが、Counterの値が合いません。
以下コードです。
DataFrameをlistに変換(格納)
a = pd.Series(df.question)
listを表示
active1 = a.values.tolist()
print(active1)
要素数をカウント
import collections
collections.Counter(active1)
b=pd.Series(active1)
print(collections.Counter(active1))
値を別の値に変換
replace1 = a.replace(1, 4)
replace2 = replace1.replace(2, 3)
replace3 = replace2.replace(3, 0)
replace4 = replace3.replace(4, 2)
replace5 = replace4.replace(5, 1)
active1_value=replace5
要素数をカウント
import collections
collections.Counter(active1_value)
b=pd.Series(active1_value)
print(collections.Counter(active1_value))
出力結果
[5, 4, 4, 5, 5, 4, 5, 4, 2, 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 3, 3, 4, 4, 3, 5, 3, 2, 4, 1, 5, 4, 4, 4, 5, 5, 5, 3, 5, 5, 5, 5, 5, 2, 5, 4, 3, 5, 4, 3, 4, 4, 4, 4, 4, 3, 5, 5, 4, 5, 4, 5, 5, 3, 4, 4, 4, 5, 3, 4, 3, 4, 4, 4, 5, 5, 2, 5, 5, 5, 4, 3, 5, 5, 4, 5, 5, 5, 4, 3, 4, 4, 3, 4, 5, 4, 3, 4, 3, 3, 4, 4, 4, 5, 5, 5, 4, 5, 5, 3, 5, 4, 3, 5, 4, 4, 4, 5, 4, 5, 5, 5, 5, 4, 4, 5, 4, 5, 5, 4, 3, 5, 4, 4, 5, 4, 5, 3, 1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 3, 3, 5, 3, 1, 5, 5, 5, 4, 5, 5, 4, 5, 5, 4, 4, 5, 4, 5, 5, 4, 5, 5, 5, 4, 5, 5, 5, 5, 4, 5, 5, 5, 5, 3, 3, 4, 5, 5, 5, 5, 3, 4, 5, 5, 5, 3, 5, 5, 4, 5, 4, 5, 4]
Counter({5: 106, 4: 65, 3: 28, 2: 4, 1: 3}) (元のカウント)
Counter({1: 106, 2: 68, 0: 32}) (値を置き換え後のカウント)(ここが違う)
値を置き換えただけなので本来2つ目のCounterは、
Counter({1: 106, 2: 65, 0: 28, 3: 4, 4: 3})
となるはずなのですが、他の値に加算されている結果になっています。
原因を教えてください。
よろしくお願いします。