1
我想根據條件列將DataFrame
中的一行乘以。熊貓:基於條件的高效多重播放行
例如,當在狀態列的值是2,我想與每個新行中的兩個相同的行和設定的條件來替代行爲1
實施例數據幀:
df = pd.DataFrame({'k': ['K0', 'K1', 'K1', 'K2'],
'condition': [1, 1, 3, 2],
's': ['a', 'b', 'c', 'd']})
condition k s
1 K0 a
1 K1 b
3 K1 c
2 K2 d
期望的結果:
condition k s
1 K0 a
1 K1 b
1 K1 c
1 K1 c
1 K1 c
1 K2 d
1 K2 d
難道這操作來完成inplace
有效,無需創建臨時df
?
謝謝@jezrael,我喜歡你的解決方案。我同意你根據第二個變體,'groupby'看起來較慢 – Toren