【发布时间】:2017-02-03 12:47:39
【问题描述】:
我有一个 10 行 5 列的 pandas 数据框和一个零矩阵 np.zeros((10,3))。
我想将 numpy 矩阵连接到 pandas 数据帧,但我想在将 numpy 数组连接到它之前从 pandas 数据帧中删除最后一列。
所以我最终会得到一个 10 行和 5 - 1 + 3 = 7 列的矩阵。
我想我可以使用
new_dataframe = pd.concat([
original_dataframe,
pd.DataFrame(np.zeros((10, 3)), dtype=np.int)
], axis=1, ignore_index=True)
其中original_dataframe 有 10 行和 5 列。
如何在连接 numpy 数组之前从 original_dataframe 中删除最后一列?以及如何确保保留所有数据类型?
【问题讨论】:
-
您可以将原始 df
new_dataframe = pd.concat([original_dataframe.ix[:, :-1], pd.DataFrame(np.zeros((10, 3)), dtype=np.int)], axis=1, ignore_index=True)切片,关于您的最后一条评论,数据类型是否仍然保留? -
ix现在已弃用,因此请考虑使用iloc或loc。请参阅下面的my answer。 -
@Jamgreen,友好的 ping。 . .您可能已经从这个问题继续前进,但如果您认为答案可以解决这个问题,您会考虑将其标记为接受吗?谢谢!
标签: python pandas numpy dataframe