"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 다양한 배열 길이를 사용하여 사전에서 Pandas DataFrame을 만드는 방법은 무엇입니까?

다양한 배열 길이를 사용하여 사전에서 Pandas DataFrame을 만드는 방법은 무엇입니까?

2024-11-09에 게시됨
검색:843

How to Create a Pandas DataFrame from a Dictionary with Varying Array Lengths?

항목 길이가 일정하지 않은 사전에서 DataFrame 생성

Python에서는 각 항목이 Numpy 배열을 보유하는 사전에서 DataFrame을 생성할 수 있습니다. 그러나 배열 길이가 항목마다 다를 때 문제가 발생합니다. 기본적으로 Pandas에는 균일한 길이의 배열이 필요하므로 "ValueError: 배열은 모두 동일한 길이여야 합니다."와 같은 오류가 발생합니다.

길이 불일치 극복

이 문제에서는 Pandas의 기능을 활용하여 NaN(Not-a-Number) 값을 누락된 데이터에 대한 자리 표시자로 사용할 수 있습니다. 이를 활용하여 다양한 길이의 열이 포함된 DataFrame을 효과적으로 생성할 수 있습니다.

이를 달성하기 위해 각 사전 항목을 누락된 값을 원활하게 처리할 수 있는 1차원 배열인 Pandas 시리즈로 변환할 수 있습니다. 생성기 표현식에 사전 항목을 래핑하고 Series 생성자를 사용하여 Series 객체의 사전을 만들 수 있습니다.

import pandas as pd
import numpy as np

# Sample data with uneven array lengths
data = {
    'A': np.random.randn(5),
    'B': np.random.randn(8),
    'C': np.random.randn(4)
}

# Convert dictionary items to Series
series_dict = dict((k, pd.Series(v)) for k, v in data.items())

# Create DataFrame from the dictionary of Series
df = pd.DataFrame(series_dict)

결과:

In [1]: df
Out[1]:
        A         B         C
0  1.162543  1.681243  0.191287
1  0.459621  -0.141198 -0.109864
2  -0.866704 -0.128677  -0.511496
3  1.222436  -0.371449 -0.705894
4  -0.980584  1.255133       NaN
5        NaN -0.351051       NaN
6        NaN  0.443017       NaN
7        NaN -1.053693       NaN

분명히 알 수 있듯이 DataFrame에는 배열 길이가 다른 결측값(NaN)이 포함되어 있어 배열 길이가 다양한 사전에서 열 길이가 다른 DataFrame을 생성할 수 있습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3