我需要为数据帧中的每一行创建一个副本,对重复的行应用一些基本操作,然后将这些重复行与原始行合并回一个数据帧中。 我试图使用apply-for-it,打印结果显示它工作正常,但是当我从函数返回这两行并组装数据帧时,我得到一条错误消息“cannot copy sequence with size 7 to array axis with dimension 2”。这就好像它试图将这两个新行重新放入原来的1行插槽中。有没有关于如何在apply中实现它的见解(而不是通过循环中的每一行迭代)?在
def f(x):
x_cpy=x.copy()
x_cpy['A']=x['B']
print(pd.concat([x,x_cpy],axis=1).T.reset_index(drop=True))
#return pd.concat([x,x_cpy],axis=1).T.reset_index(drop=True)
hld_pos.apply(f,axis=1)
熊猫的
apply
功能沿着一个轴运行。使用axis=1
,它将沿着每一行操作。要执行类似于您正在尝试执行的操作,请考虑如何从现有行构造新行。这样的方法应该有效:相关问题 更多 >
编程相关推荐