我正在针对用户帐户运行我的整个Active目录,试图查找不属于的内容。 使用我的代码,我的输出给了我只在Username列中出现一次的单词。即使我正在分析一列数据,我想保留所有与数据相关的列。
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
运行代码时,我得到类似的内容:
sample534 1
sample987 1
sample342 1
sample321 1
sample123 1
我希望txt文件中的所有数据都出现在我的输出中,但我仍然只想分析用户名列。如何将所有数据保留在所有列中,或者我是否必须使用不同的字数来包含所有数据列?
我想要像:
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
我正在使用的数据样本:
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
答案 0 :(得分:1)
根据您的描述,我想您希望使用唯一元素的计数作为索引来选择数据框中的行。也许你可以试试这个:
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])