반응형

2024/09 6

[Pandas] 숫자 슬라이싱과 문자(라벨) 슬라이싱의 차이

s[:5]와 s[:'다']에서 범위의 동작이 다르게 보이는 이유는, 숫자 슬라이싱과 라벨(문자) 슬라이싱이 pandas에서 다르게 처리되기 때문입니다.숫자 인덱스 슬라이싱 (s[:5]):pandas.Series에서 숫자로 슬라이싱을 할 때는 파이썬 기본 슬라이싱 규칙을 따릅니다. 즉, 끝 인덱스는 포함되지 않음.예를 들어, s[:5]는 0부터 4까지의 항목을 반환합니다.이 방식은 파이썬의 리스트나 배열에서 흔히 사용하는 슬라이싱 방식과 동일합니다. s = pd.Series(list('가나다라마'))s[:5]# 결과:# 0 가# 1 나# 2 다# 3 라# 4 마# dtype: object라벨(문자) 인덱스 슬라이싱 (s[:'다']):pandas.Series에서 라벨(문자)로 슬라..

[Pandas] isna()와 isnull()의 차이

isna()와 isnull()은 pandas에서 결측값을 확인할 때 사용하는 함수로, 동일한 기능을 수행합니다. 사실상 차이가 없으며, 두 함수는 서로 대체 가능합니다.기능:두 함수 모두 NaN(Not a Number)이나 None과 같은 결측값을 True로, 결측값이 아닌 경우 False로 표시합니다.이 함수들은 데이터프레임, 시리즈, 혹은 다른 pandas 객체에서 결측값을 찾을 때 사용됩니다.차이점:isna(): pandas에서 더 직관적인 이름으로 제공하는 함수이며, "NA"라는 표현을 강조하기 위해 사용됩니다. 이는 "결측값(N/A)"을 나타내는 용어를 사용하고 있습니다.isnull(): 더 오래된 함수로, pandas의 초기 버전부터 사용되어 왔으며, 여전히 지원되고 있습니다. "null"이라..

[Pandas] and와 & 차이

print(sample2[(sample2 >= 130) & (sample2 & 연산자를 사용하는 이유는, pandas의 시리즈 또는 데이터프레임의 요소 간 비교를 수행하기 때문입니다. 이와 관련된 주요 사항을 설명하겠습니다.& 연산자:&는 비트 연산자로, pandas에서 원소별(요소별) 논리 연산을 수행할 때 사용됩니다. 즉, sample2 >= 130과 sample2 예를 들어, sample2의 각 값에 대해 130 이상이고 170 이하인지 판단하여 필터링할 수 있습니다.and 연산자:and는 파이썬의 논리 연산자로, 단일 객체 간의 논리 연산에 사용됩니다. 그러나 pandas에서는 and를 사용하면 배열(시리즈 또는 데이터프레임) 간의 연산을 수행하지 못하고, 배열 자체를 비교하려 시도하므로 오류가 ..

[Pandas] 대괄호([])를 2번 사용하는 이유(단일 열/2개 이상의 열)

print(sample[['나', '라']])에서 대괄호를 두 번 사용하는 이유는 다음과 같습니다.sample['나']:sample['나']는 단일 열을 선택하는 방식입니다. 이렇게 하면 pandas.Series 객체가 반환됩니다. 즉, 하나의 열만 가져오는 경우입니다.sample[['나', '라']]:sample[['나', '라']]는 여러 열을 선택하는 방식입니다. 대괄호 안에 리스트 ['나', '라']를 넣어, 두 개 이상의 열을 선택하는 것입니다.이렇게 하면 pandas.DataFrame 객체가 반환됩니다. 즉, 여러 열을 가져오므로 DataFrame 형태를 유지합니다.따라서, 대괄호가 한 번 사용되면 단일 열이 선택되어 Series가 반환되고, 두 번 사용되면 열 목록이 선택되어 DataFram..

[Pandas] Series(list('문자열'))과 Series(['문자열'])의 차이

두 코드에서 생성된 pandas.Series의 결과가 다른 이유는 리스트의 구조 차이에 있습니다.첫 번째 코드: s = pd.Series(list('가나다라마'))여기서 list('가나다라마')는 문자열 '가나다라마'를 문자 하나씩 나누어 리스트로 변환합니다.결과적으로, 리스트는 ['가', '나', '다', '라', '마']가 되어 각 문자가 Series의 요소가 됩니다.따라서 출력 결과는 다음과 같습니다:python코드 복사0 가 1 나 2 다 3 라 4 마 dtype: object두 번째 코드: s = pd.Series(['가나다라마'])여기서는 문자열 '가나다라마' 자체가 리스트의 하나의 요소로 들어갑니다.리스트가 ['가나다라마']이므로, Series에는 하나의 요소가 포함되며, 그 요소는 문자열 ..

[파이썬] 2차원 누적합 알고리즘(백준 11660 합 구하기 5)

백준 11660 구간 합 구하기 5 시간초과 발생 코드import sysn, m = map(int, sys.stdin.readline().split())nums_list = []for _ in range(n): nums_list.append(list(map(int, sys.stdin.readline().split())))for i in range(m): hap = list(map(int, sys.stdin.readline().split())) total = 0 for p in range(hap[0] - 1, hap[2]): for q in range(hap[1] - 1, hap[3]): total += nums_list[p][q] ..

반응형