相关疑难解决方法(0)

有效地将列中的值替换为另一列Pandas DataFrame

我有一个像下面这样的Pandas DataFrame:

   col1 col2 col3
1   0.2  0.3  0.3
2   0.2  0.3  0.3
3     0  0.4  0.4
4     0    0  0.3
5     0    0    0
6   0.1  0.4  0.4
Run Code Online (Sandbox Code Playgroud)

我希望仅在值等于0 col1时将值替换为第二列(col2)中的col1值,并且在(对于剩余的零值)之后,再次使用第三列(col3)进行替换.期望的结果是下一个:

   col1 col2 col3
1   0.2  0.3  0.3
2   0.2  0.3  0.3
3   0.4  0.4  0.4
4   0.3    0  0.3
5     0    0    0
6   0.1  0.4  0.4
Run Code Online (Sandbox Code Playgroud)

我使用该pd.replace功能做到了,但它似乎太慢了......我认为必须是一种更快的方法来实现它.

df.col1.replace(0,df.col2,inplace=True)
df.col1.replace(0,df.col3,inplace=True)
Run Code Online (Sandbox Code Playgroud)

有更快的方法吗?使用其他功能而不是pd.replace功能?

python replace dataframe pandas

9
推荐指数
2
解决办法
2万
查看次数

标签 统计

dataframe ×1

pandas ×1

python ×1

replace ×1