0
在下面的熊貓數據幀:如何合併來自兩個pandas數據框的值作爲相同的行和列索引/值?
d1 = pd.read_csv('to_count.mcve.txt', sep='\t')
d1 = d1.set_index(['pos'], append=True)
M1 M2 F1 F2
pos
0 23 A,B,A,C,D A,C,B A D
1 24 A,B,B,C,B A,B,A B B
2 28 C,B,C,D,E B,C E C
我用下面的代碼做一些計數:
hapX_count = pd.DataFrame()
hapY_count = pd.DataFrame()
for index, lines in d1.iterrows():
hap_x = lines['F1']
hap_y = lines['F2']
x_count = lines.apply(lambda x: x.count(hap_x)/2 if len(x) > 5 else x.count(hap_x))
y_count = lines.apply(lambda x: x.count(hap_y)/2 if len(x) > 5 else x.count(hap_y))
hapX_count = hapX_count.append(x_count)
hapY_count = hapY_count.append(y_count)
輸出爲hapX_count:
print(hapX_count)
F1 F2 M1 M2
(0, 23) 1.0 0.0 1.0 1.0
(1, 24) 1.0 1.0 1.5 1.0
(2, 28) 1.0 0.0 0.5 0.0
輸出爲hapY_count:
print(hapY_count)
F1 F2 M1 M2
(0, 23) 0.0 1.0 0.5 0.0
(1, 24) 1.0 1.0 1.5 1.0
(2, 28) 0.0 1.0 1.0 1.0
如何將這些數據框中的值(具有相同的column
和row
索引)與逗號組合起來?
預期的輸出,如:
F1 F2 M1 M2
(0, 23) 1.0,0.0 0.0,1.0 1.0,0.5 1.0,0.0
same for other lines...
感謝,
對不起,符合市場預期,這是行不通的。它會合並每個單元格中的值,但不同的單元格值將與不同的單元格值合併。我也嘗試在for循環內連接,但沒有運氣。 – everestial007