Im folgenden Pandas Datenrahmen:Wie kann ich die Werte von zwei Pandas Dataframe zusammenführen, die als gleiche Zeile und Spalte Indizes/Wert?
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
verwendete ich den Code unten etwas Zählen zu tun:
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)
Ausgang für 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
Ausgang für 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
Wie kann ich die Werte (die die gleichen column
und row
Indizes haben) innerhalb dieses Datenrahmens mit einem Komma kombinieren?
Erwartete Ausgabe wie:
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...
Danke,
Entschuldigung, das funktioniert nicht wie erwartet. Die Werte in den einzelnen Zellen werden zusammengeführt, die unterschiedlichen Zellenwerte werden jedoch mit anderen Zellenwerten zusammengeführt. Ich habe auch versucht, innerhalb der For-Schleife zu verketten, aber kein Glück. – everestial007