0
I이 장난감 예처럼 든 보이는 셋있다 : I가있는 숫자에 따라 다른 비닝 범위를 이용하여, 빈 데이터를 싶습니다빈 데이터 분리 칼럼의 값에 따라
s1 = pd.Series(np.random.rand(5))
s2 = pd.Series(np.random.rand(5) * 10)
cat1 = pd.Series(['s1'] * 5)
cat2 = pd.Series(['s2'] * 5)
s = s1.append(s2).reset_index(drop=True)
c = cat1.append(cat2).reset_index(drop=True)
data = pd.DataFrame({'cat': c,'s': s})
print data
cat s
0 s1 0.68
1 s1 0.61
2 s1 0.43
3 s1 0.68
4 s1 0.11
5 s2 4.82
6 s2 8.19
7 s2 3.88
8 s2 5.51
9 s2 1.20
을 컬럼 cat
. 이것은 내가 뭘하려 :
def bucketing_fun(x, cat):
if cat == 's1':
return np.digitize([x], s1_buckets)[0]
else:
return np.digitize([x], s2_buckets)[0]
data['Buckets'] = data[['s', 'cat']].apply(lambda x: bucketing_fun(x[0], x[1]), axis=1)
print data
이 작동하지만 난에 대한 0.5mn 행이 실제 데이터 세트에 성능 문제가 있습니다.