1

데이터 프레임의 다른 모든 열과 열을 비교해야합니다. 다른 사람과 비교해야하는 열은 4 위치에 있으므로 열 값을 취하기 위해 df.iloc [x, 4]를 작성합니다. 그런 다음이 값을 고려해야하며 다음 열의 값 (예 : df.iloc [x, 5])을 곱하여 데이터 프레임에 새 열을 만들고 결과를 저장해야합니다. 그런 다음이 절차를 끝에있는 기존 열 (원래 데이터 프레임에 43 열이 있으므로 df.iloc [x, 43]이됩니다.) 어떻게 파이썬에서이 작업을 수행 할 수 있습니까? 가능한 경우 몇 가지 예를들 수 있습니까? 나는 내 코드를 포스트에 넣으려고 노력하지만 나는 새로운 폰으로는 좋지 않다.파이썬에서 데이터 프레임의 다른 열에 결과를 저장하려면 어떻게해야합니까?

답변

0

난 당신이 eq를 사용할 수 있다고 생각 - 비교 위치 4에 열 EDataFrame 필터링 :

df = pd.DataFrame({'A':[1,2,3], 
        'B':[4,5,6], 
        'C':[7,8,9], 
        'D':[1,3,5], 
        'E':[5,3,6], 
        'F':[7,8,9], 
        'G':[1,3,5], 
        'H':[5,3,6], 
        'I':[7,4,3]}) 

print (df) 
    A B C D E F G H I 
0 1 4 7 1 5 7 1 5 7 
1 2 5 8 3 3 8 3 3 4 
2 3 6 9 5 6 9 5 6 3 

print (df.iloc[:,5:].eq(df.iloc[:,4], axis=0)) 
     F  G  H  I 
0 False False True False 
1 False True True False 
2 False False True False 

하면 위치에 열을 기준으로 필요한 여러 4 사용 mul :

print (df.iloc[:,5:].mul(df.iloc[:,4], axis=0)) 
    F G H I 
0 35 5 25 35 
1 24 9 9 12 
2 54 30 36 18 

또는 여러 필요한 경우 시프트 기둥 별 :

print (df.iloc[:,4:].mul(df.iloc[:,5:], axis=0, fill_value=1)) 
    E F G H I 
0 5.0 49 1 25 49 
1 3.0 64 9 9 16 
2 6.0 81 25 36 9 
관련 문제