데이터에 대한 논리 연산을 수행 한 후 데이터 프레임의 값을 정렬하는 방법은 무엇입니까?

쿠샬 아그라 왈
import numpy as np 
import pandas as pd 

data = [["John",1,3],["Jenna",3,5],["Jay",7,10],["Jose",11,16]]
df = pd.DataFrame(data,columns=['Name','LL','UL'])
print(df['LL'])
print(df['LL'].values)
desired = int(input("Enter Desired: "))
i = 0
df['Best'] = 0
for elem in df['LL']:
    lowerLim = df.loc[[i],['LL']].values
    upperLim = df.loc[[i],['UL']].values
    print(lowerLim[0][0])
    print(upperLim[0][0])
    if(desired >= int(lowerLim[0][0]) & desired <= int(upperLim[0][0])):
        sortNum = 0
        print("Execute")
    else:
        sortNum = desired - elem
    print(sortNum)
    print()
    df.loc[[i],['Best']] = sortNum
    i = i + 1
print(df.sort_values(by='Best'))

여기서도 원하는 입력으로 2를 입력해도 코드는 모든 요소에서 if 문을 실행하지만 2> 1 및 다른 모든 다른 문은 실행해야하므로 첫 번째 요소에 대해서만 if 문을 실행해야합니다. 그러나 그것은 인쇄하는 각 elem 루프의 경우가 아니므로 실행되는 내 요점을 증명합니다.

조나단 레온

이 줄의 괄호를 확인하고 다음을 수정하십시오.

if( (desired >= int(lowerLim[0][0])) & (desired <= int(upperLim[0][0])) ):

시도해보고 예상되는 결과를 얻었는지 확인하십시오. 완전한 추적 :

0     1
1     3
2     7
3    11
Name: LL, dtype: int64
[ 1  3  7 11]
Enter Desired: 2
1
3
Execute
0

3
5
-1

7
10
-5

11
16
-9

    Name  LL  UL  Best
3   Jose  11  16    -9
2    Jay   7  10    -5
1  Jenna   3   5    -1
0   John   1   3     0

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관