Поиск значения столбца на основе двух значений столбца в кадре данных pandas - PullRequest
0 голосов
/ 06 апреля 2020

Мне нужно получить значение из столбца на основе двух указанных c значений столбца.

Пример кадра данных:

   Charge Code  Billing Number   Date 
0   1250-001      500220        1/2/20
1   1230-002      300220        2/6/20
2   1250-001      500320        3/8/20
3   1225-001      250120        4/9/20
4   1225-002      250120        5/16/20
5   1136-010      361219        12/9/19

Я хочу получить дату для строки с кодом начисления 1250-001 и номером счета 500320 (который будет 3/8/20)

Я пытаюсь использовать следующую строку:

the_date = df_hold.loc[df_hold['Charge Code'] == '1250' & df_hold['Billing Number'] == 500320].index.values

и получаю следующую ошибку:

KeyError: 'the label [1250-001] is not in the [index]'

После использования: the_date = df_hold.loc [(df_hold ['Charge Code'] == '1250-001') & (df_hold ['Billing Number'] == 500320), 'Date']

Я получил следующее:

configure_logger, configure_logger.setup_logger
3    3/8/2020
Name: Invoice Date, dtype: object

есть ли способ получить дату самому?

1 Ответ

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

Вам нужны круглые скобки:

the_date = df_hold.loc[(df_hold['Charge Code'] == '1250-001') & 
                       (df_hold['Billing Number'] == 500320), 'Date']

обновление:

the_date = df_hold.loc[(df_hold['Charge Code'] == '1250-001') & 
                       (df_hold['Billing Number'] == 500320), 'Date'].to_numpy()

или

the_date = df_hold.loc[(df_hold['Charge Code'] == '1250-001') & 
                       (df_hold['Billing Number'] == 500320), 'Date'].to_numpy()[0]
...