2017-06-23 4 views
1

Ich versuche, im Grunde durch eine Säule zu suchen und wenn diese Spalte einen eindeutigen Wert hat dann 1 eingeben, aber wenn es funktioniert es nicht nur ein NaN wird, mein Datenrahmen sieht wie folgt aus:Einzigartige Werte Python

Street    Number 
0 1312 Oak Avenue  1 
1 14212 central Ave 2 
2 981 franklin way 1 

die Code ich die Nummer 1 neben eindeutige Werte zu setzen ist wie folgt:

df.loc[(df['Street'].unique()), 'Unique'] = '1' 

aber wenn ich diese laufen bekomme ich diesen Fehler KeyError: „nicht in dem Index“ ich weiß nicht, warum. Ich habe versucht, dies auf der Spalte Nummer laufe und ich mein gewünschtes Ergebnis zu erhalten, das ist:

Street   Number Unique 
0 1312 Oak Avenue  1   NaN 
1 14212 central Ave 2   1 
2 981 franklin way 1   1 

so meine Spalte, die angibt, welche davon sind einzigartig ist einzigartig genannt und stellt einen ein durch die Zeilen, die einzigartig und NaNs sind durch diejenigen, die Duplikate sind. also in diesem Fall habe ich 2 Einsen und es bemerkt das und macht das erste NaN und das zweite stellt es eine 1 dar und da sie nur 1 Zwei sind, dann stellt es uns auch eine 1 zur Verfügung, da es einzigartig ist. Ich weiß nicht, warum ich diesen Fehler für die Straßenspalte bekomme.

Antwort

1

Das produziert nicht wirklich Ihr gewünschtes Ergebnis. Die Ausgabe von df['Number'].unique(), array([1, 2], dtype=int64), ist zufällig im Index enthalten. Sie würden das gleiche Problem in dieser Spalte finden, wenn Number stattdessen [3, 4, 3] war.

Für das, was Sie suchen, wo nicht duplicated auswählen, oder wo Sie nach dem Fallenlassen Duplikate verlassen haben, könnte besser sein, als unique:

df.loc[~(df['Number'].duplicated()), 'Unique'] = 1 
df 
Out[51]: 
       Street Number Unique 
0 1312 Oak Avenue  1 1.0 
1 14212 central Ave  2 1.0 
2 981 franklin way  1 NaN 


df.loc[df['Number'].drop_duplicates(), 'Unique'] = 1 
df 
Out[63]: 
       Street Number Unique 
0 1312 Oak Avenue  1  NaN 
1 14212 central Ave  2  1.0 
2 981 franklin way  1  1.0 
Verwandte Themen