我想在数据框中创建一个新列,每列都有一个列表。我正在寻找能够实现以下目标的东西:
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]
有谁知道如何做到这一点?谢谢!
答案 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
是内置类型,如str
,int
等。
答案 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])]