programing

Python Panda는 데이터 프레임이 비어 있지 않은지 확인합니다.

javamemo 2023. 5. 10. 20:10
반응형

Python Panda는 데이터 프레임이 비어 있지 않은지 확인합니다.

나는 있습니다.if데이터 프레임이 비어 있지 않은지 확인하는 문입니다.제가 하는 방법은 다음과 같습니다.

if dataframe.empty:
    pass
else:
    #do something

하지만 정말로 필요한 것은:

if dataframe is not empty:
    #do something

제 질문은 - 방법이 있느냐는 것입니다..not_empty()이를 달성하기 위해?두 번째 버전이 성능 면에서 더 나은지도 묻고 싶습니다.그렇지 않으면 제가 그것을 그대로 두는 것이 타당할지도 모릅니다. 즉, 첫 번째 버전?

그냥 해요

if not dataframe.empty:
     # insert code here

이것이 효과가 있는 이유는dataframe.empty돌아온다True데이터 프레임이 비어 있는 경우이를 반전시키기 위해 부정 연산자를 사용할 수를 사용할 수 있습니다.not어느 쪽이 뒤집히는지True로.False그리고 그 반대.

.empty는 부울 값을 반환합니다.

>>> df_empty.empty
True

따라서 비어 있지 않으면 다음과 같이 쓸 수 있습니다.

if not df.empty:
    #Your code

체크 팬더.DataFrame.empty가 누군가에게 도움이 될 수 있습니다.

속성을 사용할 수 있습니다.dataframe.empty비어 있는지 확인하는 방법:

if not dataframe.empty:
    #do something

또는

if len(dataframe) != 0:
   #do something

또는

if len(dataframe.index) != 0:
   #do something

다른 해설자들이 이미 분명히 설명했듯이, not 연산자 앞에 추가하기만 하면 Python에서 부울식을 부정할 수 있습니다.

if not df.empty:
  # do something

요령을 터득합니다.

저는 단지 이 문맥에서 "빈"의 의미를 명확히 하고 싶습니다, 왜냐하면 그것은 처음에 저에게 약간 혼란스러웠기 때문입니다.

Pandas 설명서에 따르면 DataFrame.empty 메서드는 DataFrame의 축 중 하나가 0이면 True를 반환합니다.

결과적으로, "공백"은 다른 사람이 예상하는 것처럼 이 0이고 열이 0인 것을 의미하지 않습니다.행이 0개(축 1은 비어 있음)이지만 열이 0이 아닌(축 2는 비어 있지 않음) 데이터 프레임은 여전히 비어 있는 것으로 간주됩니다.

> df = pd.DataFrame(columns=["A", "B", "C"])
> df.empty
True

설명서에서 강조된 또 다른 흥미로운 점은 NaN만 포함하는 데이터 프레임이 비어 있는 것으로 간주되지 않는다는 것입니다.

> df = pd.DataFrame(columns=["A", "B", "C"], index=['a', 'b', 'c'])
> df
     A    B    C
a  NaN  NaN  NaN
b  NaN  NaN  NaN
c  NaN  NaN  NaN
> df.empty
False

의 사용이 이 경우에 가장 포괄적이라는 것은 의심의 여지가 없습니다(명시적인 것이 암시적인 것보다 낫습니다).
그러나, 계산 시간의 측면에서 가장 효율적인 것은 사용하는 것입니다.len:

if not len(df.index) == 0:
     # insert code here

출처 : 이 답변입니다.

다른 방법:

if dataframe.empty == False:
    #do something`

언급URL : https://stackoverflow.com/questions/36543606/python-pandas-check-if-dataframe-is-not-empty

반응형