在以下数据帧中:
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\u计数的输出:
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\u计数的输出:
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循环中进行连接。但是,如果您打算在事实发生后进行串联,并希望它们用逗号分隔,那么我假设您可以将数据变成字符串而不是浮点数。如果是这种情况,并且您知道列和索引是相同的并且顺序相同,则可以执行以下操作:
相关问题 更多 >
编程相关推荐