使用 *arg in 为 pandas 列赋值

Using *arg in to assign value to pandas column

我想使用 *arg 定义一个 DataFrame。我想使用特殊语法 *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。

使用这个,

import pandas as pd

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

SAMPLE OUTPUT

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

   1  2  a  b
0  1  2  a  b

试试这个代码:

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)