3 回答

TA贡献1777条经验 获得超10个赞
首先,我认为list在 Pandas 中使用s 不是一个好主意。
但是可以通过列表理解来实现:
df['C'] = [mylist for i in df.index]
#another solution
#df['C'] = pd.Series([mylist] * len(df))
print (df)
A B C
0 1 4 [10, 20, 30, 40, 50]
1 2 5 [10, 20, 30, 40, 50]
2 3 6 [10, 20, 30, 40, 50]

TA贡献1850条经验 获得超11个赞
使用的一种替代方法np.tile:
df['C'] = np.tile(mylist, (len(df),1)).tolist()
print (df)
A B C
0 1 4 [10, 20, 30, 40, 50]
1 2 5 [10, 20, 30, 40, 50]
2 3 6 [10, 20, 30, 40, 50]

TA贡献1946条经验 获得超4个赞
这是另一种解决方案。它以lambda“Python 方式”使用和做事。我认为它更容易阅读。
import pandas as pd
df = pd.DataFrame({'A':[1,2,3], 'B':[4,5,6]})
mylist= [10,20,30,40,50]
df['combined'] = df.apply(lambda x: mylist, axis=1)
df
添加回答
举报