在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])