Панды присоединяются к мультииндексу и NaN ⇐ Python
Панды присоединяются к мультииндексу и NaN
Я использую Pandas 2.1.3.
Я пытаюсь объединить два фрейма данных на нескольких уровнях индекса, и на одном из уровней индекса есть NA. Минимально воспроизводимый пример выглядит примерно так:
a = pd.DataFrame({ 'idx_a':['A', 'A', 'B'], 'idx_b':['альфа', 'бета', 'гамма'], 'idx_c': [1.0, 1.0, 1.0], 'х':[10, 20, 30] }).set_index(['idx_a', 'idx_b', 'idx_c']) b = pd.DataFrame({ 'idx_b':['гамма', 'дельта', 'эпсилон', np.nan, np.nan], 'idx_c': [1.0, 1.0, 1.0, 1.0, 1.0], 'у':[100, 200, 300, 400, 500] }).set_index(['idx_b', 'idx_c']) c = a.join( б, как = 'внутренний', on=['idx_b', 'idx_c'] ) распечатать(а) Икс idx_a idx_b idx_c Альфа 1.0 10 бета 1.0 20 Б гамма 1,0 30 распечатать(б) й idx_b idx_c гамма 1,0 100 дельта 1,0 200 эпсилон 1.0 300 НЭН 1,0 400 1,0 500 распечатать(с) х у idx_a idx_b idx_c Б гамма 1,0 30 100 1,0 30 400 1,0 30 500 Я ожидал:
print(c) х у idx_a idx_b idx_c Б гамма 1,0 30 100 Почему join соответствует значениям NaN?
Я использую Pandas 2.1.3.
Я пытаюсь объединить два фрейма данных на нескольких уровнях индекса, и на одном из уровней индекса есть NA. Минимально воспроизводимый пример выглядит примерно так:
a = pd.DataFrame({ 'idx_a':['A', 'A', 'B'], 'idx_b':['альфа', 'бета', 'гамма'], 'idx_c': [1.0, 1.0, 1.0], 'х':[10, 20, 30] }).set_index(['idx_a', 'idx_b', 'idx_c']) b = pd.DataFrame({ 'idx_b':['гамма', 'дельта', 'эпсилон', np.nan, np.nan], 'idx_c': [1.0, 1.0, 1.0, 1.0, 1.0], 'у':[100, 200, 300, 400, 500] }).set_index(['idx_b', 'idx_c']) c = a.join( б, как = 'внутренний', on=['idx_b', 'idx_c'] ) распечатать(а) Икс idx_a idx_b idx_c Альфа 1.0 10 бета 1.0 20 Б гамма 1,0 30 распечатать(б) й idx_b idx_c гамма 1,0 100 дельта 1,0 200 эпсилон 1.0 300 НЭН 1,0 400 1,0 500 распечатать(с) х у idx_a idx_b idx_c Б гамма 1,0 30 100 1,0 30 400 1,0 30 500 Я ожидал:
print(c) х у idx_a idx_b idx_c Б гамма 1,0 30 100 Почему join соответствует значениям NaN?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение