Использование * arg in для присвоения значения столбцу панд - PullRequest
0 голосов
/ 07 октября 2019

Я бы хотел определить DataFrame используя * arg. Я хочу использовать специальный синтаксис * args передать переменное число аргументов в столбец фрейма данных следующим образом:

import pandas as pd

def test(*args):
    data = pd.DataFrame()
    for arg in args:
        data[str(arg)] = arg
    print(data)

test(1, 'a', 'b', 2)

Я ожидаю, что на выходе будет фрейм данных со столбцами [1, a, b, 2] и соответствующимценности. Но я получаю только пустой DataFrame.

Ответы [ 2 ]

1 голос
/ 07 октября 2019

попробуйте этот код:

import pandas as pd

def test(*args):
    data = pd.DataFrame()
    for arg in args:
        data[str(arg)] = [arg]
    print(data)

test(1, 'a', 'b', 2)

1 голос
/ 07 октября 2019

Используйте это,

import pandas as pd

def test(*args):
    di = dict((str(x), x) for x in args)
    data = pd.DataFrame.from_dict([di])
    print(data)

ОБРАЗЕЦ ВЫХОДА

test(1, 'a', 'b', 2)

   1  2  a  b
0  1  2  a  b
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...