그렇지 않으면 판다 조건

Sbradbio

나는 cols가있는 df가 있습니다.

start   end strand  
3   90290834    90290905    +
3   90290834    90291149    +
3   90291019    90291149    +
3   90291239    90291381    +
5   33977824    33984550    -
5   33983577    33984550    -
5   33984631    33986386    -

내가하려는 것은 스트랜드 컬럼을 기반으로 새 컬럼 (5ss 및 3ss)을 추가하는 것입니다.

f = pd.read_clipboard()
f
def addcolumns(row):
    if row['strand'] == "+":
        row["5ss"] == row["start"]
        row["3ss"] == row["end"]

    else:
        row["5ss"] == row["end"]
        row["3ss"] == row["start"]
    return row

f = f.apply(addcolumns, axis=1)
KeyError: ('5ss', u'occurred at index 0')

코드의 어느 부분이 잘못 되었습니까? 아니면 더 쉬운 방법이 있습니까?

ASGM

대신에 사용하는 .apply()내가 사용하는 것이 좋습니다 것 np.where()대신 :

df.loc[:, '5ss'] = np.where(f.strand == '+', f.start, f.end)
df.loc[:, '3ss'] = np.where(f.strand == '+', f.end, f.start)

np.where() 세 가지 인수를 기반으로 새 개체를 만듭니다.

  • 논리적 조건 (이 경우 f.strand == '+')
  • 조건이 참일 때 취할 값
  • 조건이 거짓 일 때 취할 값

apply()with를 사용하면 axis=1각 열에 함수 적용됩니다. 따라서 변수 이름을 지정했지만 row실제로는 열을 반복합니다. axis인수를 생략 하거나 axis=0행에 함수를 적용하도록 지정할 수 있습니다. 그러나 수행하려는 작업을 고려할 때를 사용하는 것이 더 간단하여 np.where()열 할당에 대한 조건부 논리를 지정할 수 있습니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

그렇지 않으면 조건부 판다

분류에서Dev

그렇지 않으면 정규식 조건이 일치하지 않습니다.

분류에서Dev

조건이 충족되면 MySQL이 행을 잡고 그렇지 않으면 다른 행을 가져옵니다.

분류에서Dev

그렇지 않으면 angularjs의 조건이 문자열과 정수 값을 비교합니다.

분류에서Dev

그렇지 않으면 변수 값을 대체하는 조건

분류에서Dev

jquery ajax 응답의 그렇지 않으면 조건

분류에서Dev

조건이 충족되지 않으면 오류를 발생시키고 그렇지 않으면 절차를 실행합니다.

분류에서Dev

switchMap을 조건부로 실행합니다. 그렇지 않으면 오류 이벤트를 발생시키지 않고 모두 취소합니다.

분류에서Dev

첫 번째 if 조건은 작동하지만 elif 조건은 그렇지 않습니다.

분류에서Dev

조건부로 보조 테이블의 다른 값을 사용하고 그렇지 않으면 첫 번째 테이블 값을 사용합니다.

분류에서Dev

입력 필드가 비어 있으면 실행 조건, 그렇지 않으면 실행 조건 2

분류에서Dev

Tree가 힙 속성을 충족하면 true를 반환하고 그렇지 않으면 false를 반환하는 조건 자 is_heap (Tree)를 작성합니다.

분류에서Dev

awk, 그렇지 않으면 레코드에 값이있을 때 조건부

분류에서Dev

그렇지 않으면 PHP에서 값을 대체하는 조건

분류에서Dev

조건에 따라 슬라이스, 그렇지 않으면 빈 배열 반환

분류에서Dev

때 / 그렇지 않으면 여러 조건을 진술하는 JSTL 오류

분류에서Dev

Java는 조건에 따라 인스턴스화 된 목록에 추가하고 그렇지 않으면 새 목록을 인스턴스화합니다.

분류에서Dev

조건이 충족되지 않으면 조건문이 실행됩니다.

분류에서Dev

조건이 충족되지 않으면 평가 조건이 계속됩니다.

분류에서Dev

그렇지 않으면 Statment가 작동하지 않습니다.

분류에서Dev

그렇지 않은 경우 조건이 예상대로 작동하지 않습니다.

분류에서Dev

그렇다면 여러 조건으로 선택을 기록하십시오.

분류에서Dev

조건이 참이면 사전에 항목 추가, 그렇지 않으면하지 마십시오-Python

분류에서Dev

판다에서 조건으로 이동

분류에서Dev

Laravel OrWhere가 두 가지 조건을 갖는 것이 그렇게 분명하지 않습니다

분류에서Dev

조건부 인 경우 스위치 문, 그렇지 않으면 도달하지 않음

분류에서Dev

Excel VBA를 사용하면 요소가 있으면 웹 요소를 가져오고 그렇지 않으면 건너 뜁니다.

분류에서Dev

SQL 쿼리 최적화 : 특정 조건으로 입력하거나 그렇지 않으면 임의 입력

분류에서Dev

그렇지 않다면-이것보다

Related 관련 기사

  1. 1

    그렇지 않으면 조건부 판다

  2. 2

    그렇지 않으면 정규식 조건이 일치하지 않습니다.

  3. 3

    조건이 충족되면 MySQL이 행을 잡고 그렇지 않으면 다른 행을 가져옵니다.

  4. 4

    그렇지 않으면 angularjs의 조건이 문자열과 정수 값을 비교합니다.

  5. 5

    그렇지 않으면 변수 값을 대체하는 조건

  6. 6

    jquery ajax 응답의 그렇지 않으면 조건

  7. 7

    조건이 충족되지 않으면 오류를 발생시키고 그렇지 않으면 절차를 실행합니다.

  8. 8

    switchMap을 조건부로 실행합니다. 그렇지 않으면 오류 이벤트를 발생시키지 않고 모두 취소합니다.

  9. 9

    첫 번째 if 조건은 작동하지만 elif 조건은 그렇지 않습니다.

  10. 10

    조건부로 보조 테이블의 다른 값을 사용하고 그렇지 않으면 첫 번째 테이블 값을 사용합니다.

  11. 11

    입력 필드가 비어 있으면 실행 조건, 그렇지 않으면 실행 조건 2

  12. 12

    Tree가 힙 속성을 충족하면 true를 반환하고 그렇지 않으면 false를 반환하는 조건 자 is_heap (Tree)를 작성합니다.

  13. 13

    awk, 그렇지 않으면 레코드에 값이있을 때 조건부

  14. 14

    그렇지 않으면 PHP에서 값을 대체하는 조건

  15. 15

    조건에 따라 슬라이스, 그렇지 않으면 빈 배열 반환

  16. 16

    때 / 그렇지 않으면 여러 조건을 진술하는 JSTL 오류

  17. 17

    Java는 조건에 따라 인스턴스화 된 목록에 추가하고 그렇지 않으면 새 목록을 인스턴스화합니다.

  18. 18

    조건이 충족되지 않으면 조건문이 실행됩니다.

  19. 19

    조건이 충족되지 않으면 평가 조건이 계속됩니다.

  20. 20

    그렇지 않으면 Statment가 작동하지 않습니다.

  21. 21

    그렇지 않은 경우 조건이 예상대로 작동하지 않습니다.

  22. 22

    그렇다면 여러 조건으로 선택을 기록하십시오.

  23. 23

    조건이 참이면 사전에 항목 추가, 그렇지 않으면하지 마십시오-Python

  24. 24

    판다에서 조건으로 이동

  25. 25

    Laravel OrWhere가 두 가지 조건을 갖는 것이 그렇게 분명하지 않습니다

  26. 26

    조건부 인 경우 스위치 문, 그렇지 않으면 도달하지 않음

  27. 27

    Excel VBA를 사용하면 요소가 있으면 웹 요소를 가져오고 그렇지 않으면 건너 뜁니다.

  28. 28

    SQL 쿼리 최적화 : 특정 조건으로 입력하거나 그렇지 않으면 임의 입력

  29. 29

    그렇지 않다면-이것보다

뜨겁다태그

보관