2017-12-06 18 views
1

기능 선택을위한 유전 알고리즘이 번성하고 있습니다. 그리고 나는 몇 가지 어려움을 겪고 있습니다.pop_frame에서 index_par 데이터 프레임의 인덱스 값을 선택하십시오.

I dataframe (인구), 20 individus 9 개 기능으로 구성되어 있습니다

0 1 2 3 4 5 6 7 8 
0 0 1 1 1 0 0 0 0 1 
1 0 0 1 1 1 0 0 1 0 
2 0 1 0 0 1 0 0 0 1 
3 0 0 0 1 1 0 0 1 1 
4 1 0 0 1 1 1 1 1 0 
5 1 1 0 0 0 1 0 1 1 
6 0 0 1 1 0 1 1 1 1 
7 1 1 0 0 1 1 1 1 1 
8 0 0 0 0 1 0 0 1 1 
9 1 0 1 1 1 1 1 1 1 
10 0 0 1 1 0 1 0 1 1 
11 1 1 1 0 1 1 0 0 0 
12 0 0 1 0 0 0 1 1 0 
13 0 0 1 1 1 1 1 1 0 
14 1 1 1 1 0 0 0 1 0 
15 1 1 0 1 1 1 0 1 1 
16 1 0 1 0 1 1 1 0 0 
17 1 1 0 0 1 1 0 0 1 
18 1 0 1 0 0 0 1 0 0 
19 1 1 1 1 1 1 1 0 0 

그리고 dataframe index_par 나는, 인덱스 번호로 구성되어있다 :

0 
0 0 
1 1 
2 4 
3 5 
4 8 
5 10 
6 11 
7 13 
8 14 
9 19 

index_par dataframe은 크로스 오버를 위해 선택된 부모의 인덱스입니다.

어떻게 dataframe index_par 에서 인덱스 팝업 dataframe에서 값을 선택할 수 있습니다? 미리 감사드립니다.

답변

0

나는 당신이 index_par의 열 0에 의해 loc 필요하다고 생각 :

index_par = pd.DataFrame({0:[0,1,4,5,8,10,11,13,14,19]}) 

df3 = pop.loc[index_par[0]] 
print (df3) 
    0 1 2 3 4 5 6 7 8 
0 0 1 1 1 0 0 0 0 1 
1 0 0 1 1 1 0 0 1 0 
4 1 0 0 1 1 1 1 1 0 
5 1 1 0 0 0 1 0 1 1 
8 0 0 0 0 1 0 0 1 1 
10 0 0 1 1 0 1 0 1 1 
11 1 1 1 0 1 1 0 0 0 
13 0 0 1 1 1 1 1 1 0 
14 1 1 1 1 0 0 0 1 0 
19 1 1 1 1 1 1 1 0 0