Pandas에서 길이가 다른 배열이 있는 사전을 처리하려면 맞춤형 접근 방식이 필요합니다. 사전 내의 배열을 나타내는 각 열로 DataFrame을 생성하려고 하면 "배열은 모두 동일한 길이여야 합니다."라는 ValueError가 발생할 수 있습니다.
이를 방지하려면 문제에서는 다양한 길이의 배열을 보유할 수 있는 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