>백엔드 개발 >파이썬 튜토리얼 >Pandas DataFrame을 NumPy 배열로 효율적으로 변환하는 방법은 무엇입니까?

Pandas DataFrame을 NumPy 배열로 효율적으로 변환하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-20 06:15:10161검색

How to Efficiently Convert Pandas DataFrames to NumPy Arrays?

pandas 데이터 프레임을 NumPy 배열로 변환


df.to_numpy()가 권장되는 방법인 이유


df.to_numpy()를 사용하는 것은 Pandas 객체에서 NumPy 배열을 얻는 일관되고 안정적인 방법을 제공하기 때문에 권장되는 방법입니다. 이는 Index, Series 및 DataFrame 개체에 정의되며 기본적으로 기본 데이터의 보기를 반환합니다. 즉, NumPy 배열에 대한 모든 수정 사항이 pandas 개체에도 반영됩니다. 데이터 사본이 필요한 경우 copy=True 매개변수를 사용할 수 있습니다.


df.values는 현재 버전의 pandas에서 더 이상 사용되지 않지만, 새 코드에는 df.to_numpy()를 사용하고 최대한 빨리 최신 API로 마이그레이션하는 것이 좋습니다. 가능합니다.


pandas 데이터프레임을 NumPy 배열로 변환할 때 dtype을 유지하려면 DataFrame.to_records() 메서드를 사용할 수 있습니다.


팬더를 pd로 가져오기
numpy를 다음으로 가져오기 np

지수 = [1, 2, 3, 4, 5, 6, 7]
a = [np.nan, np.nan, np.nan, 0.1, 0.1, 0.1, 0.1]
b = [0.2, np.nan, 0.2, 0.2, 0.2, np.nan, np.nan]
c = [np.nan, 0.5, 0.5, np.nan, 0.5, 0.5, np.nan]
df = pd.DataFrame({'A': a, 'B': b, 'C': c}, index=index)
df = df.rename_axis('ID')

DataFrame을 보존된 dtype을 사용하여 NumPy 배열로 변환

array = df.to_records()

NumPy 인쇄 array

print(array)

코드의 출력은 다음과 같습니다:


<br> Rec.array([('ID', '인덱스', 'A', 'B', 'C')]</p>
<pre class="brush:php;toolbar:false">           [1, 'a', nan, 0.2, nan],
           [2, 'b', nan, nan, 0.5],
           [3, 'c', nan, 0.2, 0.5],
           [4, 'd', 0.1, 0.2, nan],
           [5, 'e', 0.1, 0.2, 0.5],
           [6, 'f', 0.1, nan, 0.5],
           [7, 'g', 0.1, nan, nan]),
      dtype=[('ID', '<i8'), ('index', 'O'), ('A', '<f8'), ('B', '<f8'), ('C', '<f8')])


보시다시피 NumPy 배열은 DataFrame에 있는 열의 dtype을 유지합니다.

위 내용은 Pandas DataFrame을 NumPy 배열로 효율적으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.