반응형
"상태 아님" 조건을 기준으로 데이터 프레임에서 행 삭제
날짜 열의 값이 날짜 목록에 있을 때 판다 데이터 프레임에서 행을 삭제하려고 합니다.다음 코드가 작동하지 않습니다.
a=['2015-01-01' , '2015-02-01']
df=df[df.datecolumn not in a]
다음 오류가 발생합니다.
값 오류:시리즈의 참 값은 모호합니다.a.empty, a.boole(), a.item(), a.any() 또는 a.all()을 사용합니다.
사용할 수 있습니다.
pandas.Dateframe.isin
각 요소가 목록 내에 있는지 여부에 따라 부울 값을 반환합니다.a
그렇지 않으면.그런 다음 이것을 다음과 같이 뒤집습니다.~
개종하기 위해True
로.False
그리고 역도 성립.
import pandas as pd
a = ['2015-01-01' , '2015-02-01']
df = pd.DataFrame(data={'date':['2015-01-01' , '2015-02-01', '2015-03-01' , '2015-04-01', '2015-05-01' , '2015-06-01']})
print(df)
# date
#0 2015-01-01
#1 2015-02-01
#2 2015-03-01
#3 2015-04-01
#4 2015-05-01
#5 2015-06-01
df = df[~df['date'].isin(a)]
print(df)
# date
#2 2015-03-01
#3 2015-04-01
#4 2015-05-01
#5 2015-06-01
다음을 사용할 수 있습니다.
df = df[~df.datecolumn.isin(a)]
오류 메시지는 다음과 같습니다.all()
또는any()
사용할 수 있으며 결과를 단일 부울 값으로 줄이려는 경우에만 유용합니다.그러나 이것은 외부 목록에 대해 시리즈의 모든 값의 멤버쉽을 테스트하고 결과를 그대로 유지하려는 것이 아닙니다(즉, 원래 데이터 프레임을 슬라이스하는 데 사용되는 부울 시리즈).
이에 대한 자세한 내용은 Gotchas에서 확인하실 수 있습니다.
언급URL : https://stackoverflow.com/questions/27965295/dropping-rows-from-dataframe-based-on-a-not-in-condition
반응형
'programing' 카테고리의 다른 글
ORA-01747: user.table.column, table.column 또는 column 규격이 잘못되었습니다. (0) | 2023.06.29 |
---|---|
ASP.Net Core 2.1의 ID< - 계정 컨트롤러 사용자 지정 (0) | 2023.06.29 |
오라클 시스템이 유니코드 또는 멀티바이트 문자를 지원하도록 설정되었는지 확인하는 방법은 무엇입니까? (0) | 2023.06.29 |
Oracle에서 REGEXP_LIKE가 아님 (0) | 2023.06.29 |
Git 분기의 커밋 수 카운트 (0) | 2023.06.29 |