在python中向列表添加列

在python中向列表添加列,python,numpy,Python,Numpy,我有以下清单: Training_Frame = pca.fit_transform(np_scaled_train) 具有以下形状(2358,4) 我想添加第五列,该列保存在pandas数据框中,为此,我尝试了但没有成功: Training_Frame.append(dataframe_train.iloc[:,-1]) AttributeError: 'numpy.ndarray' object has no attribute 'append' 所以我尝试了以下方法 saved_

我有以下清单:

Training_Frame = pca.fit_transform(np_scaled_train)
具有以下形状
(2358,4)
我想添加第五列,该列保存在pandas数据框中,为此,我尝试了但没有成功:

Training_Frame.append(dataframe_train.iloc[:,-1])
AttributeError: 'numpy.ndarray' object has no attribute 'append'
所以我尝试了以下方法

   saved_frame = np.append(Training_Frame,dataframe_train.iloc[:,-1])
    # This works but the result has a weird shape `(11790,)` despite :
    np.shape(dataframe_train.iloc[:,-1])  # is (2358,) so I'm expecting or hopping to get  a shape like `(2358,5)
`


所以我不明白这里的问题是什么,知道我该怎么做吗

如果
训练帧
数据帧
长度相同:

Training_Frame = np.column_stack((Training_Frame, dataframe_train.iloc[:,-1].values))
或者,您可以从NDArray生成数据帧(如@ayhan在注释中所建议的):


感谢您的回复,我尝试了您的建议,以下是我得到的:索引器:只有整数、切片(
)、省略号(
)、numpy.newaxis(
)和整数或布尔数组有效indices@Engine,打印(键入(培训框架))的输出是什么??非常感谢您的帮助,我仍然无法理解python中的所有数据类型:/。我正在使用第一个建议,再次感谢。我可以在5分钟内接受你的回答min@Engine,很高兴我能帮忙:-)
np.append
经常被误用。学习使用
np。改为连接
。尽管名称不同,
Training\u Frame
不是数据帧;这是一个numpy数组。您可以使用
pd.DataFrame(Training\u Frame)
将其转换为数据帧。我想您需要
np.column\u stack()。。。
Training_Frame = pd.DataFrame(Training_Frame).assign(column_name=dataframe_train.iloc[:,-1])