У меня есть фрейм данных, аналогичный показанному ниже.
In[2]: df = pd.DataFrame({'P1': [1, 2, None, None, None, None],'P2': [None, None, 3, 4, None, None],'P3': [None, None, None, None, 5, 6]})
Out[2]:
P1 P2 P3
0 1.0 NaN NaN
1 2.0 NaN NaN
2 NaN 3.0 NaN
3 NaN 4.0 NaN
4 NaN NaN 5.0
5 NaN NaN 6.0
И я пытаюсь объединить все столбцы в один столбец P
в новом фрейме данных (см. Ниже).
P
0 1.0
1 2.0
2 3.0
3 4.0
4 5.0
5 6.0
В моем реальном коде у меня есть произвольный список столбцов, которые должны быть объединены, необязательно P1
, P2
и P3
(между 1 и 5 столбцами). Я пробовал что-то вроде следующего:
new_series = pd.Series()
desired_columns = ['P1', 'P2', 'P3']
for col in desired_columns:
other_series=df[col]
new_series = new_series.align(other_series)
Однако это приводит к кортежу объектов Series, и ни один из них не содержит данных, которые мне нужны. Я мог бы пройтись по каждой строке, а затем проверить каждый столбец, но я чувствую, что, скорее всего, есть простое решение для панд, которое мне не хватает.