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() 메서드를 사용할 수 있습니다.
지수 = [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')
array = df.to_records()
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!