Wie würde ich die Zeilen erhalten, die in einigen Spalten für zwei Datenrahmen identisch sind, aber in einer bestimmten Spalte anders sind?Reihen in bestimmten Spalten, andere in anderen Spalten
zB
die Zeilen Auswahl, die die gleichen Werte in den 2 dfs für cols haben [A, B, C], haben aber unterschiedliche Wert für Spalte 'tatsächliche'
import pandas as pd
df = pd.DataFrame({"A":list(range(10)),
"B":list(range(10,20)),
"C":list(range(20,30)),
"D":list(range(30,40)),
"actual":[1 for x in range(10)]})
df2 = pd.DataFrame({"A":list(range(15)),
"B":list(range(5,20)),
"C":list(range(15,30)),
"D":list(range(45,60)),
"actual":[0 for x in range(15)]})
df.iloc[5] = [5,10,20,20,1]
Out[12]:
A B C D actual
0 0 10 20 30 1
1 1 11 21 31 1
2 2 12 22 32 1
3 3 13 23 33 1
4 4 14 24 34 1
5 5 10 20 20 1
6 6 16 26 36 1
7 7 17 27 37 1
8 8 18 28 38 1
9 9 19 29 39 1
df2
Out[13]:
A B C D actual
0 0 5 15 45 0
1 1 6 16 46 0
2 2 7 17 47 0
3 3 8 18 48 0
4 4 9 19 49 0
5 5 10 20 50 0
6 6 11 21 51 0
7 7 12 22 52 0
8 8 13 23 53 0
9 9 14 24 54 0
10 10 15 25 55 0
11 11 16 26 56 0
12 12 17 27 57 0
13 13 18 28 58 0
14 14 19 29 59 0
Ich möchte alle Indizes in df2, die in df1 gleich sind, aber unterschiedliche "tatsächliche" Werte haben. Zum Beispiel
A B C D
5 10 20 50
das ist Index 5 in DF2.
Konnte jemand helfen? :)
'A: 5, B: 10, C: 20, D: 50' erscheint nicht im ersten df? – ayhan
@ayhan Mein schlechtes, repariert! – Wboy