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

배열 길이가 고르지 않은 사전에서 Pandas DataFrame을 구성하는 방법은 무엇입니까?

2024년 11월 14일에 게시됨
검색:713

How to Construct Pandas DataFrames from Dictionaries with Uneven Array Lengths?

배열 길이가 고르지 않은 사전에서 데이터 프레임 구성

Pandas에서 길이가 다른 배열이 있는 사전을 처리하려면 맞춤형 접근 방식이 필요합니다. 사전 내의 배열을 나타내는 각 열로 DataFrame을 생성하려고 하면 "배열은 모두 동일한 길이여야 합니다."라는 ValueError가 발생할 수 있습니다.

Leveraging Series Objects

이를 방지하려면 문제에서는 다양한 길이의 배열을 보유할 수 있는 Pandas의 Series 개체를 활용합니다. 각 사전 값을 시리즈로 변환하면 길이에 관계없이 배열을 효과적으로 저장할 수 있습니다. 다음 코드 조각은 이 접근 방식을 보여줍니다.

import pandas as pd
import numpy as np

# Sample data generated via a reproducible seed
np.random.seed(2023)
data = {k: np.random.randn(v) for k, v in zip("ABCDEF", [10, 12, 15, 17, 20, 23])}

# Convert dictionary values to Series objects
series_dict = {k: pd.Series(v) for k, v in data.items()}

# Create DataFrame using these Series objects
df = pd.DataFrame(series_dict)

누락된 값 보존

다양한 길이의 배열로 작업할 때 더 짧은 배열이 나머지 셀을 채울 수 없는 누락된 값이 발생하는 것이 일반적입니다. 기본적으로 Pandas는 이러한 공백을 NaN(숫자가 아님) 값으로 채웁니다. 이 동작은 원본 데이터를 보존하는 동시에 분석을 위한 일관된 구조를 제공합니다.

누락된 값 처리 구성

원하는 경우 DataFrame( ) 생성자. 예를 들어 누락된 값을 NaN 대신 0으로 바꾸려면 아래와 같이 Missing_values=0을 지정합니다.

df = pd.DataFrame(series_dict, missing_values=0)

출력 예

다음 출력은 설명된 접근 방식을 사용하여 생성된 DataFrame을 보여줍니다. 위:

print(df)
      A         B         C         D         E         F
0  0.711674 -1.076522 -1.502178 -1.519748  0.340619  0.051132
1 -0.324485 -0.325682 -1.379593  2.097329 -1.253501 -0.238061
2 -1.001871 -1.035498 -0.204455  0.892562  0.370788 -0.208009
3  0.236251 -0.426320  0.642125  1.596488  0.455254  0.401304
4 -0.102160 -1.029361 -0.181176 -0.638762 -2.283720  0.183169
...       ...       ...       ...       ...       ...       ...
18       NaN       NaN       NaN       NaN       NaN       NaN
19       NaN       NaN       NaN       NaN       NaN       NaN
20       NaN       NaN       NaN       NaN       NaN       NaN
21       NaN       NaN       NaN       NaN       NaN       NaN
22       NaN       NaN       NaN       NaN       NaN       NaN
23 rows × 6 columns

보시다시피 배열이 짧을수록 해당 셀에 NaN 값이 나타나며 원하는 표 형식을 유지하면서 데이터를 포괄적으로 표현할 수 있습니다.

최신 튜토리얼 더>

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

Copyright© 2022 湘ICP备2022001581号-3