Pandas DataFrames의 문자열이 변환 후에도 객체로 나타나는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2024-10-25 21:25:29
원래의
998명이 탐색했습니다.

 Why do Strings in Pandas DataFrames Appear as Objects Even After Conversion?

DataFrame의 문자열이 객체로 저장되는 이유는 무엇입니까?

문자열이 포함된 DataFrame 열을 문자열 데이터 유형으로 명시적으로 변환했음에도 불구하고 Python의 Pandas 라이브러리 여전히 개체로 보고할 수 있습니다. 이러한 불일치는 NumPy의 기본 데이터 구조로 인해 발생합니다.

NumPy는 ndarray를 사용하여 데이터 배열을 저장하며, ndarray의 각 요소는 고정된 바이트 수를 갖습니다. 정수(int64) 및 부동 소수점 숫자(float64)의 경우 각 요소는 8바이트를 차지합니다. 그러나 문자열은 가변 길이를 가지므로 ndarray에 직접 저장하는 것은 비현실적입니다.

이를 수용하기 위해 Pandas는 객체 ndarray를 사용하여 객체에 대한 포인터를 저장합니다. 이러한 개체에는 실제 문자열 값이 포함되어 있습니다. 결과적으로 객체 ndarray는 불확실한 크기를 가지며 "객체" 데이터 유형으로 표시됩니다.

예:

4개의 64비트를 포함하는 int64 배열을 생각해 보세요. 정수 및 세 개의 문자열 객체에 대한 네 개의 포인터를 포함하는 객체 배열:

int64 array: | 1 | 2 | 3 | 4 |
object array: | pointer to "hello" | pointer to "world" | pointer to "!" |

Visualization:

+---------+-----------+
| int64    |  object   |
|---------+-----------|
| 1        | hello     |
| 2        | world     |
| 3        | !         |
| 4        | null      |
+---------+-----------+
로그인 후 복사

이 표현에서 int64 배열은 고정된 공간을 차지하며 각 요소는 8바이트입니다. 반면, 객체 배열은 다양한 크기의 객체에 대한 포인터를 저장하므로 "객체" 데이터 유형이 됩니다.

위 내용은 Pandas DataFrames의 문자열이 변환 후에도 객체로 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!