创建与每行相同列表的新pandas列?

时间:2018-04-27 19:46:22

标签: python list pandas dataframe

我想在数据框中创建一个新列,每列都有一个列表。我正在寻找能够实现以下目标的东西:

df = pd.DataFrame(data={'A': [1, 2, 3], 'B': ['x', 'y', 'z']})
list_=[1,2,3]
df['new_col] = list_
   A       B     new_col
0  1       x     [1,2,3]
1  2       y     [1,2,3] 
2  3       z     [1,2,3]

有谁知道如何做到这一点?谢谢!

3 个答案:

答案 0 :(得分:2)

df = pd.DataFrame(data={'A': [1, 2, 3], 'B': ['x', 'y', 'z']})
list_=[1,2,3]
df['new_col'] = [list_]*len(df)

输出:

    A   B   new_col
0   1   x   [1, 2, 3]
1   2   y   [1, 2, 3]
2   3   z   [1, 2, 3]

提示:不建议使用list作为变量名。 list是内置类型,如strint等。

答案 1 :(得分:1)

df['new_col'] = pd.Series([mylist for x in range(len(df.index))])

(“list”是一个可怕的变量名,所以我在这个例子中使用“mylist”。)

答案 2 :(得分:1)

df['new_col'] = [[1,2,3] for j in range(df.shape[0])]
相关问题