Применить свойство pandas.DataFrame.shape к нескольким фреймам данных, хранящимся в кортеже. - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть функция, которая возвращает в качестве вывода кортеж, содержащий несколько pd.DataFrame объектов.

Взять пример:

import pandas as pd

def myfunction():
    x = pd.DataFrame(data = [1,2,3])
    y = pd.DataFrame(data = [[1,2,3],[4,5,6]])
    return x, y

myfunction()

Я ищу краткий способ применить свойство pandas.DataFrame.shape к каждому объекту, хранящемуся в кортеже, в результате вызова myfunction().

Решение не должно включать цикл!

1 Ответ

0 голосов
/ 26 апреля 2018

Одним из способов является использование operator.attrgetter:

from operator import attrgetter

shapes = list(map(attrgetter('shape'), myfunction()))

[(3, 1), (2, 3)]

Хотя вы не ищете явный цикл, это более читаемая версия:

shapes = [x.shape for x in myfunction()]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...