Как распаковать столбцы pandas DataFrame для нескольких переменных

normanius спросил: 13 июня 2018 в 03:26 в: python

Списки или массивы numpy могут быть распакованы для нескольких переменных, если размеры совпадают. Для массива 3xN будет работать следующее:

import numpy as np 
a,b =          [[1,2,3],[4,5,6]]
a,b = np.array([[1,2,3],[4,5,6]])
# result: a=[1,2,3],   b=[4,5,6]

Как добиться аналогичного поведения для столбцов pandas DataFrame? Расширение приведенного выше примера:

import pandas as pd 
df = pd.DataFrame([[1,2,3],[4,5,6]])
df.columns = ['A','B','C']    # Rename cols and
df.index = ['i', 'ii']        # rows for clarity

Следующие действия не работают должным образом:

a,b = df.T
# result: a='i',   b='ii'
a,b,c = df
# result: a='A',   b='B',   c='C'

Однако я бы хотел получить следующее:

a,b,c = unpack(df)
result: a=df['A'], b=df['B'], c=df['C']

Доступна ли функция unpack в пандах? Или можно легко имитировать?

1 ответ

Есть решение
normanius ответил: 13 июня 2018 в 04:02

Я просто подумал, что следующие работы, которые уже близки к тому, что я пытаюсь достичь:

a,b,c = df.T.values 
# pd.DataFrame.as_matrix() is deprecated

Дополнительное видео по вопросу: Как распаковать столбцы pandas DataFrame для нескольких переменных

Азы работы с pandas.DataFrame на примере задачи о Титанике.

How do I make my pandas DataFrame smaller and faster?