본문 바로가기

여러 가지 이야기40

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all(). 에러 메세지  ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all(). 번역: 시리즈의 진릿값은 모호합니다. a.empty, a.bool(), a.item(), a.any() 또는 a.all()을 사용하세요. 이 오류는 판다스 초심자에게 매우 자주 발생하는 에러 중 하나입니다. 여러 가지 원인이 있을 수 있지만 특히, 조건문을 작성할 때 논리 연산을 잘못 사용할 때 빈번하게 발생합니다.  에러 발생 상황  에러가 발생하는 상황을 예시와 함께 살펴보겠습니다.import pandas as pd# 예시 데이터 프레임 생성df = pd.DataFrame( {'name': [.. 2023. 5. 3.
ValueError: Cannot subset columns with a tuple with more than one element. Use a list instead. import pandas as pd df = pd.DataFrame({'name': ['a', 'b', 'a', 'c'], 'colA': [ 3, 2, 5, 1], 'colB': [ 1, 2, 3, 4]}) df 예의 데이터 프레임을 name으로 그룹화 해서 colA와 colB를 모두 합산을 하고 싶다면 아래와 같은 코드를 사용하면 된다 df.groupby('name')[['colA', 'colB']].sum() groupby를 복수의 열에 적용하려면 대괄호 안에 리스트를 넣는 이중 대괄호가 되어야 한다. [['colA', 'colB']] 이것을 단일 대괄호 안에 넣으면 판다스 +2.0 부터 아래의 에러가 발생하니 반드시 이중대괄호에 넣자 df.groupby('name')['colA', 'colB'].s.. 2023. 5. 3.
ValueError: unconverted data remains: 4 import pandas as pd pd.to_datetime('24', format='%H') ValueError: unconverted data remains: 4 %H로 시간 format을 변형할때 24 이상의 시각이 있을 때 발생하는 에러 24를 오버하는 시각이 있는 데이터를 정상적인 datetime으로 바꾸는 법 https://kimpanda.tistory.com/111 참고문헌 : https://stackoverflow.com/questions/61052483/valueerror-unconverted-data-remains-4 2023. 5. 2.
ValueError: ('Lengths must match to compare' ValueError: ('Lengths must match to compare'는 비교 연산에서 양측의 길이가 다를 때 나타나는 에러이다. 다만 아래와 같은 오타가 생성되었을 때도 자주 나타난다.  import pandas as pddata = {'colA': {0: 2, 1: 1, 2: 3}, 'colB': {0: 1, 1: 2, 2: 3}}df = pd.DataFrame(data)     colA와 colB를 비교해보자 df['colA'] > df['colB']  열을 인덱싱해서 간단한 비교연산자를 쓰는 것으로 비교가 가능하다  이 때 df['colA'] 처럼 열을 인덱싱해야 하는데 변수를 빠뜨리고 ['colA']만 입력해도 비교 대상의 길이가 달라지기에 아래와 같은 에러가 난다. ['colA'] >.. 2023. 5. 2.