Необходимо создать новый фрейм данных только с нечетным количеством значений в столбце существующего фрейма данных. - PullRequest
0 голосов
/ 13 июля 2020
import plotly.express as px
import plotly.graph_objects as go
import pandas as pd

df = pd.read_excel ('the sample sheet i have attached')

indexNames = df[ (df['counter'] != -1) & (df['counter'] != 1) & (df['id'] >= "Fri Jul 10 19:33:12 GMT+05:30 2020")  ].index
dff.drop(indexNames , inplace=True)

v = df.employee_id.value_counts()

new_df= df[df.employee_id.isin(v.index[v.eq(1)])]
new_df

Я хотел, чтобы во фрейме данных new_df были только данные о сотруднике, который вошел в систему, но не вышел из системы. В прилагаемой таблице данных Excel, если counter = -1, я предполагаю выход из системы, а если counter = 1, я предполагаю ссылку для входа в лист "https://drive.google.com/file/d/1E9hivsHzc9lc_IQG0mWf36fc8F4HgPDm/view?usp=sharing"

1 Ответ

0 голосов
/ 13 июля 2020

У меня нет фильтра на время, но вот способ получить записи для сотрудников, у которых нет счетчика записи = -1

import pandas as pd
logins = {'EmployeeId': [22, 22, 22, 22, 67, 67, 67],
    'Counter': [1, 2, 3, -1, 1, 2, 3] }

df = pd.DataFrame(logins)
df2 = df.loc[df['Counter'] == -1]
print(df[~df['EmployeeId'].isin(df2['EmployeeId'])])
...