从列表创建 Pandas DF

问题描述 投票:0回答:1

我尝试从列表列表中创建一个 pandas 数据框,其中包含 216439 个数据点中每个点的 1402 个值。我使用 pandas.DataFrame 方法并传入列表列表和长度相等的特征名称列表。 但它抛出一个错误 '传递值的形状是 (216439, 1402),索引意味着 (1402, 1402)'

`#call the fittransform method with the new encoder object
transformed_deposit = deposit_transformer.fit_transform(deposit_features)
transformed_deposit = transformed_deposit.toarray()
#create a data frame using transformed data and column names from get feature names out method 

transformed_deposit_df = pd.DataFrame(
    transformed_deposit, 
    deposit_transformer.get_feature_names_out()
)`

我尝试更改数据类型并验证列名称的长度是否与列表中的元素数量匹配 1402 相同。

pandas valueerror
1个回答
0
投票

如果形状是 (216439, 1402),那么您应该将 1402 ID 作为列而不是索引传递:

transformed_deposit_df = pd.DataFrame(
    transformed_deposit, 
    columns=deposit_transformer.get_feature_names_out()
)

或者,如果您想要索引,则转置:

transformed_deposit_df = pd.DataFrame(
    transformed_deposit.T, 
    deposit_transformer.get_feature_names_out()


© www.soinside.com 2019 - 2024. All rights reserved.