说给定的日期帧df1,df2,df3,如果(df2> 0)else df3元素方式,获得df = df1的最佳方法是什么?数据帧上元素方式的三元条件操作
2
A
回答
2
可以使用df.where
来实现这一点:
In [3]:
df1 = pd.DataFrame(np.random.randn(5,3), columns=list('abc'))
df2 = pd.DataFrame(np.random.randn(5,3), columns=list('abc'))
df3 = pd.DataFrame(np.random.randn(5,3), columns=list('abc'))
print(df1)
print(df2)
print(df3)
a b c
0 -0.378401 1.456254 -0.327311
1 0.491864 -0.757420 -0.014689
2 0.028873 -0.906428 -0.252586
3 -0.686849 1.515643 1.065322
4 0.570760 -0.857298 -0.152426
a b c
0 1.273215 1.275937 -0.745570
1 -0.460257 -0.756481 1.043673
2 0.452731 1.071703 -0.454962
3 0.418926 1.395290 -1.365873
4 -0.661421 0.798266 0.384397
a b c
0 -0.641351 -1.469222 0.160428
1 1.164031 1.781090 -1.218099
2 0.096094 0.821062 0.815384
3 -1.001950 -1.851345 0.772869
4 -1.137854 1.205580 -0.922832
In [4]:
df = df1.where(df2 >0, df3)
df
Out[4]:
a b c
0 -0.378401 1.456254 0.160428
1 1.164031 1.781090 -0.014689
2 0.028873 -0.906428 0.815384
3 -0.686849 1.515643 0.772869
4 -1.137854 -0.857298 -0.152426
1
也
df = df1[df2 > 0].combine_first(df3)
相关问题
- 1. 熊猫在多个数据帧上的元素条件操作
- 2. python? (条件/三元)操作员
- 3. 玉三元/元素属性的条件
- 4. R中的数据帧的两个向量的元素操作
- 5. 根据元素上的条件值排序numpy数组元素
- 6. 元素方面的操作
- 7. 整数三元操作GNUPLOT
- 8. 其他三元操作比条件表达式
- 9. 在三元操作
- 10. PHP三元操作
- 11. 三元操作符
- 12. SQL:三元操作
- 13. 在数据帧R字符元素的条件更换
- 14. 一维数组元素上的最近邻元素操作
- 15. 字典上的三元操作
- 16. 两个矩阵/数据帧的元素方式添加
- 17. 在Joomla的伪元素操作中添加数据库条目
- 18. Ruby的三元操作
- 19. 将上三元矩阵和下三元矩阵组合成单个数据帧
- 20. 将数据帧到元组的名单上的条件
- 21. 在angularjs使用三元操作符的元素
- 22. PHP三元操作格式化
- 23. 数据库操作作为单元测试的先决条件?
- 24. 数组元素操作
- 25. 数据帧的子集的元素
- 26. C - 三元操作,否则
- 27. 三元操作符和HTML
- 28. PHP三元操作错误
- 29. 三元Elvis操作符
- 30. 三元操作符语法
IIUC然后'DF = np.where(DF2> 0,DF1,DF3)' – EdChum