我有一个数据帧数据,想在末尾附加另一个。新的数据帧与前一个类似,只是交换了条目。我有以下代码可以工作并说明我在做什么:
listL = data.shape[0]
length = data.shape[1]
mid = (length-1) / 2.0
for j in range(0, 5) :
data.loc[listL+j] = data.iloc[j]
for j in range(0, 5) :
for i in range(start, end) :
left = int(ceil(mid+i)) + 1
right = int(ceil(mid-i))
data.iloc[listL+j][left] = data.iloc[j][right]
data.iloc[listL+j][0] = data.iloc[j][0] + 10
在本例中,我只在末尾添加前5行,并交换列。这根本不能很好地扩展,而且效率很低。 你能不能帮我提高效率,消除循环,并使它扩展得更好(我想处理有10000个条目的数据帧)。 特别是,如何使交换更有效?在
更新: 使用其中一个答案,我现在可以:
^{pr2}$其中listL是原始df数据中的行数。我需要优化第二部分:
listL = data.shape[0]
length = data.shape[1]
mid = (length-1) / 2.0
for j in range(0, listL-1) :
for i in range(start, end) :
left = int(ceil(mid+i)) + 1
right = int(ceil(mid-i))
data.iloc[listL+j][left] = data.iloc[listL+j][right]
data.iloc[listL+j][0] = data.iloc[listL+j][0] + 10
这是我最后所做的,多亏了他们的回答和评论:
如果您有
df1
和df2
,那么您可以简单地使用pd.concat
来添加df2
前五行,与列的顺序无关:相关问题 更多 >
编程相关推荐