Объединение двух серий в одну с несовпадающими показателями - PullRequest
0 голосов
/ 05 января 2019

Я пытаюсь объединить две серии с несовпадающими показателями в одну, и мне интересно, каковы лучшие практики.

Я пытался объединить, но у меня возникает проблема, когда объединение серии [0, 24, ...] с серией [1, 25, ...] должно давать серию с признаками [0, 1, 24 , 25, ...] но вместо этого я получаю [0, 12, 24, 36, ...]

for row in all_rows:
    base_col = base_col.combine_first(row)

Я просто хочу, чтобы две серии с взаимоисключающими признаками были объединены в одну серию, которая содержит оба признака в правильном отсортированном порядке. Вроде как молния.

Ответы [ 2 ]

0 голосов
/ 05 января 2019

Использование align

sum(s1.align(s2,fill_value=0))
0     1.0
1     5.0
24    2.0
25    6.0
30    3.0
35    7.0
38    8.0
40    4.0
dtype: float64
0 голосов
/ 05 января 2019

Вы можете использовать pd.concat, затем sort_index:

s1 = pd.Series([1, 2, 3, 4], index=[0, 24, 30, 40])
s2 = pd.Series([5, 6, 7, 8], index=[1, 25, 35, 38])

s = pd.concat([s1, s2]).sort_index()

print(s)

0     1
1     5
24    2
25    6
30    3
35    7
38    8
40    4
dtype: int64
...