0
私は、パーセンタイルに基づいてデータセットの各列を分類する方法を考えています。例えば、カラムを考える:データセットの各フィーチャをPythonでパーセンタイルで分類する
ticket
24160
113781
113781
113781
113781
19952
13502
112050
11769
上記カラムの20パーセンタイルは基本的に、私はすべての値から、0-20thパーセンタイル= 1から全ての値カテゴリ変数にその列を変換する1350であります20〜40パーセンタイル= 2、40〜60パーセンタイルのすべての値= 3などである。したがって、チケット機能は1,2,3,4または5のカテゴリ変数になります。この変換を最後の列以外のデータセットのすべての列に適用したいと思います。これまでのところ私は、コード化されました:私は私のデータセット内の最後の列以外の各列にこの機能を適用する方法がわからない
import numpy as np
import pandas as pd
dataset = pd.read_csv('somedataset.csv')
def func(x):
if min(x)<=x< np.percentile(x, 20):
return 1
elif np.percentile(x, 20)<=x< np.percentile(x, 40):
return 2
elif np.percentile(x, 40)<=x< np.percentile(x, 60):
return 3
elif np.percentile(x, 60)<=x< np.percentile(x, 80):
return 4
elif x = max(x):
return 5
dataset[:]= dataset[:].apply(func)
。私はどんなフィードバックにも大いに感謝します!