y_ocsvm
という名前のdfに1と-1で埋められたという名前の列がありますstep1
。
私は使用しました:step1['y_ocsvm'].value_counts()
1と-1のカウントを取得するために、出力は次のとおりでした:
step1['y_ocsvm'].value_counts()
Out[11]:
1 1622
-1 426
Name: y_ocsvm, dtype: int64
1の数に対する-1の数の比率を見つけたいと思います。単純に426/1622を実行できますが、これを多くのデータフレームに使用する必要があるため、値は確実に変化し、手動で同じものを計算するのは困難になります。
value_counts()
パンダシリーズにしか適用できないので、やってみました:
pd.Series([step1['y_ocsvm'] == -1]).value_counts()
しかし、次のエラーが発生します。
pd.Series([step1['y_ocsvm'] == -1]).value_counts()
Traceback (most recent call last):
File "<ipython-input-13-59f772263a54>", line 1, in <module>
pd.Series([step1['y_ocsvm'] == -1]).value_counts()
File "C:\Users\kashy\Anaconda3\envs\py36\lib\site-packages\pandas\core\base.py", line 1303, in value_counts
normalize=normalize, bins=bins, dropna=dropna)
File "C:\Users\kashy\Anaconda3\envs\py36\lib\site-packages\pandas\core\algorithms.py", line 705, in value_counts
keys, counts = _value_counts_arraylike(values, dropna)
File "C:\Users\kashy\Anaconda3\envs\py36\lib\site-packages\pandas\core\algorithms.py", line 750, in _value_counts_arraylike
keys, counts = f(values, dropna)
File "pandas/_libs/hashtable_func_helper.pxi", line 348, in pandas._libs.hashtable.value_count_object
File "pandas/_libs/hashtable_func_helper.pxi", line 359, in pandas._libs.hashtable.value_count_object
File "C:\Users\kashy\Anaconda3\envs\py36\lib\site-packages\pandas\core\generic.py", line 1816, in __hash__
' hashed'.format(self.__class__.__name__))
SystemError: <built-in method format of str object at 0x00000203B7063AC0> returned a result with an error set
パンダを使用してこれを行う方法を知りたいですか?
あなたもすることができます
step1['y_ocsvm'].value_counts()[-1] / step1['y_ocsvm'].value_counts()[1]
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加