You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将MinMaxScaler输出的numpy数组转DataFrame报TypeError如何解决

错误原因

你的报错来自两个语法问题:

  • 你用numpy数组的二维切片语法操作pandas DataFrame:pandas的[]取值默认匹配列名,不支持直接传入(行切片, 列索引)格式的二维切片,所以df1[1:,0]会直接触发类型错误。
  • pd.DataFrame构造函数不存在名为dftransformed的参数,第一个参数直接传入数组数据即可,不需要自定义参数名。

解决方法

场景1:需要完整复用原df1的所有索引、列信息

如果你没有特殊的切片需求,MinMax Scaler输出的数组顺序和原df1的行、列顺序完全对应,直接调用即可:

dftransformedtoDF = pd.DataFrame(dftransformed, index=df1.index, columns=df1.columns)

场景2:确实需要切除第一行/第一列数据

如果你的业务逻辑需要跳过第一行、第一列,用pandas的iloc位置索引器取对应的索引和列名即可:

# 取df1从第1行(下标从0开始)开始的所有行的索引
target_index = df1.iloc[1:].index
# 取df1从第1列开始的所有列名
target_columns = df1.columns[1:]
# 用切好的数组和元信息构造DataFrame
dftransformedtoDF = pd.DataFrame(dftransformed[1:, 1:], index=target_index, columns=target_columns)

额外说明

不需要手动把索引、列信息转成numpy数组,pandas的DataFrame构造函数原生支持直接传入Index类型的索引、列名参数,不需要额外转换。

内容的提问来源于stack exchange,提问作者rubengavidia0x

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 11:54:04