如何对pandas DataFrame列名执行nC2运算生成两两组合列表
可以直接用Python标准库itertools.combinations实现无顺序不重复的2元素组合计算,完全符合你提到的nC2运算需求,完整实现代码如下:
import pandas as pd from itertools import combinations # 示例DataFrame dict1 = {'name':["aparna", "pankaj", "sudhir", "Geeku"], 'degree': ["MBA", "BCA", "M.Tech", "MBA"], 'score':[90, 40, 80, 98]} df = pd.DataFrame(dict1) # 生成列名的2元素组合,转成子列表格式 output_list = [list(pair) for pair in combinations(df.columns, 2)] # 测试输出 for i, pair in enumerate(output_list): print(f"output_list[{i}] = {pair}")
默认运行输出为:
output_list[0] = ['name', 'degree'] output_list[1] = ['name', 'score'] output_list[2] = ['degree', 'score']
如果需要和你给出的示例输出顺序一致,对生成的组合做自定义排序即可。
内容的提问来源于stack exchange,提问作者Macro Panda
相关产品推荐
相关产品推荐

