我有一个DF状排列如下:采取联合,Python的+熊猫
x y z
0 a jj Nan
1 b ii mm
2 c kk nn
3 d ii NaN
4 e Nan oo
5 f jj mm
6 g Nan nn
所需的输出是:
x y z w
0 a jj Nan a
1 b ii mm a
2 c kk nn c
3 d ii NaN a
4 e Nan oo e
5 f jj mm a
6 g Nan nn c
的逻辑是
到采取列联合y & z:
ii == jj
因为在索引1和5,他们都有在柱ž组这种结合已经
mm
:索引0,1,3,5是一个组,索引2,6-是另一基团在组内,随机地采取在一个小区列x并将其分配到整个组的列w
我对这个问题一无所知。 有人能帮助我吗?
EDITNOTE:
我第一次发布一个完全排序的列y和列以Z状如下:
x y z w
0 a ii NaN a
1 b ii mm a
2 c jj mm a
3 d jj Nan a
4 e kk nn e
5 f Nan nn e
6 g Nan oo g
对于这种情况,piRSquared的解决方案可以完美运行。
EDITNOTE2:
Nickil Maveli的解决方案的工作非常适合我的问题。然而,我注意到,有一种情况,该解决方案不能处理,那就是:
x y z
0 a ii mm
1 b ii nn
2 c jj nn
3 d jj oo
4 e kk oo
通过Nickil Maveli的解决方案,结果会像如下:
0 1 2 w
0 a ii mm a
1 b ii mm a
2 c jj nn c
3 d jj nn c
4 e kk oo e
然而,理想的输出应是w = ['a','a','a','a','a']。
在'index 2'为什么不'df ['w']'等于'c'如果'c == b'在'z'中?你有一个主要模式? – estebanpdl
主要思想是采用列y和z的联合,然后随机取第x列中的一个单元格并将其分配给第w列。 – Philip