0
は、以下のパンダのデータフレームで:pandas iterrorwsの実行中/実行後にインデックス位置を出力に戻す方法は?
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)
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
どのように私はインデックス値を取得することができます(pos
)を以前のデータと同じように戻しますか?インデックスを使用してそれらのタプルの位置を呼び出すことができます。しかし、元のデータに複数のインデックス(pos
だけでなく)が存在するため、すべてのインデックスが保持されるようにプロセスを自動化したいと思います。
ありがとう、