Как использовать для l oop для преобразования значений в фрейм данных? - PullRequest
2 голосов
/ 04 августа 2020

Я использую несколько функций, и я использую их для печати значений, но теперь мне нужны дополнительные вычисления. Итак, мне нужно преобразовать значения печати в специальный формат.

Вот как выглядит мой код:

for color in dominant_colors.colors:
        

        print('\tred: {0}'.format(color.color.red))
        print('\tgreen: {0}'.format(color.color.green))
        print('\tblue: {0}'.format(color.color.blue))
        print('')

и его значения для печати выглядят так:

    red: 232.0
    green: 179.0
    blue: 124.0


    red: 160.0
    green: 152.0
    blue: 150.0


    red: 85.0
    green: 82.0
    blue: 81.0

Но теперь мне нужны значения в формате RGB, и это должно быть примерно так: (232, 179, 124)

Итак, я хотел бы получить столбец в виде фрейма данных, который даст следующий результат:

Colors

(232,179,124)
(160,152,150)
(85,82,81)

1 Ответ

1 голос
/ 04 августа 2020

Использовать понимание списка для списка кортежей:

L = [(color.color.red, color.color.green, color.color.blue) for color in dominant_colors.colors]

Или l oop решение с append:

L = []
for color in dominant_colors.colors:
    L.append((color.color.red, color.color.green, color.color.blue))

И затем перейти к DataFrame конструктору:

df = pd.DataFrame({'Colors':L})
        
...