我有一個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