Добавить два столбца разных фреймов данных с учетом пропущенных значений - PullRequest
1 голос
/ 11 апреля 2019

Как добавить столбцы двух фреймов данных (A + B), чтобы результат (C) учитывал пропущенные значения ('---')?

DataFrame A

a = pd.DataFrame({'A': [1, 2, 3, '---', 5]})

    A
0   1
1   2
2   3
3   ---
4   5

DataFrame B

b = pd.DataFrame({'B': [3, 4, 5, 6, '---']})

    B
0   3
1   4
2   5
3   6
4   ---

Желаемый результат A + B

    C
0   4
1   6
2   8
3   ---
4   ---

1 Ответ

3 голосов
/ 11 апреля 2019

Замените '---' на np.nan, добавьте столбцы и fillna на '---'

(a['A'].replace('---', np.nan)+b['B'].replace('---', np.nan)).fillna('---')

Вы можете назначить результат новому фрейму данных или существующему:

df = pd.DataFrame()
df.assign(C = (a['A'].replace('---', np.nan)+b['B'].replace('---', np.nan)).fillna('---'))

ИЛИ

a.assign(C = (a['A'].replace('---', np.nan)+b['B'].replace('---', np.nan)).fillna('---'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...