在中使用 *arg为pandas列赋值

vm0i2vca  于 2022-12-02  发布在  其他
关注(0)|答案(2)|浏览(128)

我想使用 *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 ,但我只得到了一个空的DataFrame。

6l7fqoea

6l7fqoea1#

请尝试以下代码:

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)
sh7euo9m

sh7euo9m2#

用这个,

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

相关问题