我有一个有三列的数据帧。每行需要根据特定行和列中的值复制和更改两次。但是,其他列中的值需要保持不变。在
我成功地制作了数据帧,如下所示:
df = pd.DataFrame({'Value': list(range(3)), 'Value2': list(range(3)), 'Value3':['A','B','C']})
idx = df['Value'].index
# construct dataframe to append
df_extra1 = df.loc[idx].copy()
df_extra2 = df.loc[idx].copy()
df_extra3 = df.loc[idx].copy()
df_extra4 = df.loc[idx].copy()
# add 3 seconds
df_extra1['Value'] = df_extra1['Value'] + 0.1
df_extra2['Value'] = df_extra2['Value'] - 0.1
df_extra3['Value2'] = df_extra3['Value2'] + 0.1
df_extra4['Value2'] = df_extra4['Value2'] - 0.1
# append to original
res1 = df.append(df_extra1)
res2 = res1.append(df_extra2)
res3 = res2.append(df_extra3)
res4 = res3.append(df_extra4)
结果如下:
^{pr2}$有没有什么方法可以加快速度或使它更简洁?在
目前还不完全清楚您要做什么,但根据您提供的示例,您可以通过迭代要更新的列和尝试应用的更新的产品来简化此过程:
通过附加,您将重复复制数据帧,这并不理想,尤其是因为您已经在开始时创建了副本。在
相关问题 更多 >
编程相关推荐