如何将两个列表元素两两相乘并输出为DataFrame表格?
实现两个列表元素两两相乘并生成指定格式的DataFrame
方法一:利用numpy外积快速计算
借助numpy的outer函数直接生成两两乘积的矩阵,再转换为DataFrame并设置对应索引和列名:
import pandas as pd import numpy as np list1 = [1, 2, 3] list2 = [1, 2, 3] # 计算两两乘积的矩阵 product_matrix = np.outer(list1, list2) # 构造DataFrame,将列表元素转为字符串作为索引和列名 df = pd.DataFrame( product_matrix, index=[str(num) for num in list1], columns=[str(num) for num in list2] )
方法二:手动构建字典(直观易懂)
通过字典推导式逐个生成列对应的乘积列表,再传入DataFrame构造函数:
import pandas as pd list1 = [1, 2, 3] list2 = [1, 2, 3] # 构造列名为字符串、值为乘积列表的字典 product_dict = {str(col_val): [num * col_val for num in list1] for col_val in list2} # 生成DataFrame并设置索引 df = pd.DataFrame( data=product_dict, index=[str(num) for num in list1] )
两种方法最终生成的DataFrame均与示例一致:
1 2 3 1 1 2 3 2 2 4 6 3 3 6 9
内容的提问来源于stack exchange,提问作者user70282
相关产品推荐
相关产品推荐

