2016-06-08 9 views
-2

Ich führe mein gesamtes Active Directory gegen Benutzerkonten, die versuchen herauszufinden, was nicht dazugehört. Mit meinem Code gibt mir meine Ausgabe die Wörter, die nur einmal in der Spalte Benutzername auftreten. Obwohl ich eine Datenspalte analysiere, möchte ich alle Spalten behalten, die mit den Daten zusammenhängen.Python: Wie wähle ich mit Pandas die Spalten in meiner Ausgabe?

from pandas import DataFrame, read_csv 
import pandas as pd 
f1 = pd.read_csv('lastlogonuser.txt', sep='\t', encoding='latin1') 
f2 = pd.read_csv('UserAccounts.csv', sep=',', encoding ='latin1') 
f2 = f2.rename(columns={'Shortname':'User Name'}) 
f = pd.concat([f1, f2]) 
counts = f['User Name'].value_counts() 
f = counts[counts == 1] 
f 

ich so etwas wie diese, wenn ich meinen Code ausführen:

sample534   1 
sample987   1 
sample342   1 
sample321   1 
sample123   1 

Ich würde alle der Daten aus den TXT-Dateien wie in Put- meines heraus zu kommen, aber ich will nur noch die Benutzername Spalte analysiert. Wie behalte ich alle Daten in allen Spalten oder muss ich eine andere Wortzählung verwenden, um alle Datenspalten einzuschließen?

Ich möchte so etwas wie:

User Name Description 
1 sample534 Journal Mailbox managed by   
1 sample987 Journal Mailbox managed by  
1 sample342 Journal Mailbox managed by 
1 sample321 Journal Mailbox managed by 
1 sample123 Journal Mailbox managed by 

Beispieldaten Ich verwende:

Account User Name User CN      Description 
ENABLED MBJ29  CN=MBJ29,CN=Users    Journal Mailbox managed by 
ENABLED MBJ14  CN=MBJ14,CN=Users    Journal Mailbox managed by 
ENABLED MBJ08  CN=MBJ30,CN=Users    Journal Mailbox managed by 
ENABLED MBJ07  CN=MBJ07,CN=Users    Journal Mailbox managed by 
+2

Bitte zeigen Sie ein Beispiel Ihrer Dateien. – BrenBarn

+2

Bitte beschreiben Sie Ihre Daten nicht *. Fügen Sie in Ihrem Beitrag eine * Stichprobe * Ihrer * tatsächlichen * Daten ein. – BrenBarn

+1

[wie man gute reproduzierbare Pandas-Beispiele macht] (http://stackoverflow.com/questions/20109391/how-to-make-good-reproducible-pandas-examples) – MaxU

Antwort

1

Basierend auf Ihrer Beschreibung, ich denke, man die Grafen von einzigartigen Elemente als Index verwenden möchten Wählen Sie Zeilen in Ihrem Datenrahmen. Vielleicht können Sie dies versuchen:

df2 = pd.DataFrame()  
counts = f['User Name'].value_counts() 
counts = counts[counts == 1].index 
for index in counts: 
    df2 = df2.append(f[f['User Name'] == index]) 
+0

Die Antwort angepasst, um den Index eindeutiger Elemente korrekt auszuwählen. –