Я пытаюсь создать отчет из Excel через python - PullRequest
0 голосов
/ 02 апреля 2020

Это Excel: enter image description here

Я пытаюсь выяснить, достигла ли задача до Last_Queue=='NL_AMS_NSO_TA_TRANSPORT' и работала ли TAC_NL_Member, в Excel, если задача была выполнена Значение столбца члена TAC_NL_Member true. Я написал следующий код, чтобы выяснить это, но он не дает мне правильный отпечаток.

import pandas as pd

df1=pd.read_excel('C:/Users/611777575/desktop/Python/FY19-20 Classic Stats.xlsx', sheet_name="20-Feb",dtype={ 'TAC NL Member': str})



filt2 = df1.loc[(df1['Last Queue'] == 'NL_AMS_NSO_TA_TRANSPORT') & (df1['TAC NL Member'] == 'TRUE')]


print(filt2)

Я думаю, что код не может работать из-за слова TRUE. Пожалуйста, предложите

Ответы [ 2 ]

0 голосов
/ 02 апреля 2020

Я считаю, что проблема заключается в использовании метода .loc. Обычно он используется для доступа ко всему столбцу, строке или отдельному элементу DataFrame, например:

my_df.loc[my_row, my_col]

try:

df1[(df1['Last Queue'] == 'NL_AMS_NSO_TA_TRANSPORT') & (df1['TAC NL Member'] == 'TRUE')]

вы можете проверить оба условия по отдельности, чтобы определить проблема:

cond_1 = df1['Last Queue'] == 'NL_AMS_NSO_TA_TRANSPORT'
print(df1[cond1]])

cond_2 = df1['TAC NL Member'] == 'TRUE'
print(df1[cond2]])

РЕДАКТИРОВАТЬ:

Я запустил это:

df = pd.DataFrame({"Person": ["Person_1", "Person_2"], "TAC NL MEMBER":["TRUE", "TRUE"]})

df[df["TAC NL MEMBER"] == "TRUE"]

вывод:

    Person TAC NL MEMBER
0  Person_1          TRUE
1  Person_2          TRUE
0 голосов
/ 02 апреля 2020

True - это ключевое слово python. «True» - это строка. попробуйте удалить кавычки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...