在我的代码中,我基于同一数据帧中但另一行中的另一个值,为数据帧中的单元分配一个值。
使用for循环的代码如下:
df = pd.DataFrame({'A':[1, 2, 3],'B':[4, 5, 6]})
for i in range(1, df.shape[0]):
df.loc[i, 'C'] = df.loc[i-1, 'B']
Output:
A B C
0 1 4 NaN
1 2 5 4.0
2 3 6 5.0
这段代码为我提供了我想要的输出,但是代码相当慢。我读到了df.itterrows
和df.apply
的书,但是由于引用了其他行,因此我无法确定这对我的代码如何起作用。有谁知道在熊猫数据框中引用其他行的一种遍历行的更快方法?
答案 0 :(得分:0)
以这种方式更改代码
df.iloc[i]['C'] = df.iloc[i-1]['B']