Вероятно, самый простой способ - PInvoke LogonUser Win32 API.eg
http://www.pinvoke.net/default.aspx/advapi32/LogonUser.html
blockquote>Ссылка на MSDN здесь ...
http://msdn.microsoft.com/en-us/library/aa378184.aspx
blockquote>Определенно хотите использовать тип входа
LOGON32_LOGON_NETWORK (3)
Это создает только легкий токен - идеально подходит для проверок AuthN. (другие типы могут использоваться для создания интерактивных сеансов и т. д.).
Ваш вопрос мне не очень понятен, но из того, что я получаю, вы пытаетесь сделать что-то вроде этого:
import pandas as pd
import numpy as np
header = ["First_name1", "First_name2", "First_name3", "Last_name1", "Last_name2"]
df= pd.DataFrame([["Michel", "Michelle", "Michele", "Jeremi", "Jeremy"],
["Jack", "Jack", "Jak", "Jean", "Jean"],
["Dave", "Dav", "Dave", "Daniel", "Danielle"]], columns=header)
print df
# Create empty df
finalDataFrame = pd.DataFrame(columns=header)
for index, row in df.iterrows():
firstName = row[0]
# convert to row as tuple cannot be modified
lrow = list(row)
if (firstName == row[1]):
lrow[1] = np.NaN
if (firstName == row[2]):
lrow[2] = np.NaN
# Append the row to the final DataFrame
finalDataFrame.loc[len(finalDataFrame)] = lrow
print finalDataFrame
Надеюсь, это поможет!
Сначала вы перебираете строки в кадре данных:
for index, row in yourdf.iterrows():
Затем для каждой строки в кадре данных вы сравниваете два значения, которые хотите сравнить:
if row['First_name1'] == row['first_name2']:
# Create the new column and set its value to first_name
row['new_column'] = first_name
else:
# Set each column to the value you want
row['first_name'] = first_name1
row['first_name2'] = first_name1