python--itertools的使用

本文深入探讨了Python中itertools模块的使用,特别是permutations和combinations函数,通过实例展示了如何利用这些工具进行数据排序和组合,以及如何计算数据集中的特征组合相关系数。

简介

迭代生成器工具包 itertools

更多功能请参考:http://www.wklken.me/posts/2013/08/20/python-extra-itertools.html

使用

排序:permutations
组合:combinations

# 排序:permutations
# 组合:combinations
from  itertools import permutations
from itertools import combinations 

col_list = ['col1', 'col2', 'col3']
print('所有排序:')
for value in permutations(col_list,2):
    print(list(value))

print("所有组合:")
for value in combinations(col_list,2):
    print(list(value))

结果如下:

所有排序:
['col1', 'col2']
['col1', 'col3']
['col2', 'col1']
['col2', 'col3']
['col3', 'col1']
['col3', 'col2']
所有组合:
['col1', 'col2']
['col1', 'col3']
['col2', 'col3']

for instance 

计算特征之间的所有组合的相关系数,并根据阈值进行筛选想要的特征组合。

import pandas as pd
import numpy as np
from itertools import combinations 
 
df = pd.DataFrame({'A':np.random.randint(1, 100, 10),
     'B':np.random.randint(1, 100, 10),
     'C':np.random.randint(1, 100, 10)})

col_list = df.columns
print("所有组合:")
list_corr = []
for value in combinations(col_list,2):
    print([value[0],value[1],df[list(value)].corr().iloc[1,0]])
    list_corr.append([value[0],value[1],df[list(value)].corr().iloc[1,0]])
    
df_list_corr = pd.DataFrame(list_corr)
df_list_corr.columns =['cols','cols2','corr']
df_list_corr_filter = df_list_corr[df_list_corr['corr']>0.2]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值