这个问题在这里已有答案:
我有两个数据列表,分别是:
a = [1,1,1, 0,0,0]
b = [9,8,7, 6,5,4]
我想要的输出是:
df = [[9,9,9, 0,0,0],
[8,8,8, 0,0,0],
[7,7,7, 0,0,0],
[6,6,6, 0,0,0],
[5,5,5, 0,0,0],
[4,4,4, 0,0,0]]
我目前正在做的是:
for aa in a:
counter = 0
df = pd.DataFrame()
while counter<len(b):
df[counter] = pd.Series(b)*a[counter]
counter+=1
看来,效率肯定是低效的 .
在我的实际应用中,a和b的大小非常大,因此效率问题上升 .
任何智能有效的方法来解决这个问题?任何建议将不胜感激
先感谢您!
1 回答
您可以使用外部产品
np.outer
并使用结果初始化pandas数据帧: