0
我偶爾正在傳送的數據幀有許多N/A值。具有麻煩操縱熊貓數據幀
在這種情況下,有reduntant行。對於每個X值,只有一個Y值。因此,我想通過「上下文」柱,用測量的列名(M1,M2,...,Mn)的組合以兩個「例1」的行合併到1行(在圖像中示出)。
怎麼可能用一個數據幀大熊貓功能做到這一點?
謝謝。
我偶爾正在傳送的數據幀有許多N/A值。具有麻煩操縱熊貓數據幀
在這種情況下,有reduntant行。對於每個X值,只有一個Y值。因此,我想通過「上下文」柱,用測量的列名(M1,M2,...,Mn)的組合以兩個「例1」的行合併到1行(在圖像中示出)。
怎麼可能用一個數據幀大熊貓功能做到這一點?
謝謝。
你可以使用一個連接。它發生在rsuffix
和lsuffix
參數,所以這將是更容易使用的,但如果你需要使用一個前綴,你可以手動更改。
創建您的數據幀
df = pd.DataFrame({'X':['example1', 'example1'], 'context':['a', 'b'], 'M1':[0.1, np.nan], 'M2':[np.nan,0.2], 'M3':[np.nan, 0.3], 'Y':[0.5, 0.5]}, columns=['X', 'context', 'M1', 'M2', 'M3', 'Y'])
解決方案
dfa = df[df['context'] == 'a'].set_index(['X', 'Y']).drop('context', axis=1)
dfb = df[df['context'] == 'b'].set_index(['X', 'Y']).drop('context', axis=1)
dfa.join(dfb, how='left', lsuffix='_a', rsuffix='_b').dropna(axis=1)