变量衍生(一)

最近领导安排了变量衍生的任务,记录一下初步的代码。

网上查了一圈之后,发现部分做数据的机构其实已经实现了智能化变量衍生了,但是咱也不知道他到底是咋衍生的,只能朝着这个方向慢慢摸索,有兴趣的朋友可以私信我一起讨论哇

初步的想法

  • 提取落脚点
  • 找寻基础维度的形容词
  • 形容词+落脚点进行排列组合

代码如下:

from itertools import product

def get_value():
    xingr={}
    # 使用enter键结束输入
    while 1:
        name=input('请输入你的维度命名(注意顺序):')
        if name=='':
            break
        else:
            xingr[name]=[i for i in input('请输入变量的形容词(用逗号隔开):').split(',')]
    xingr['luojiao']=[i for i in input('请输入变量的落脚点(用逗号隔开):').split(',')]
    return xingr
def my_product(inp):
    re_1=list((values for values in product(*inp.values())))
    # product函数是生成一个迭代器,每次迭代生成的元素为一个元组,其中字典的笛卡尔积只对键进行交换
    yansheng=[''.join(x) for x in re_1]
    return yansheng
def get_yansheng(xingr):
    length=len(xingr.keys())
    if length<=1:
        print('输入的维度必须大于等于2,请重新输入')
    else:
        yansheng=my_product(xingr)
        return yansheng


xingr=get_value()
print('根据您输入的维度,得到衍生变量如下:')
print('-'*40)
yansheng=get_yansheng(xingr)
yansheng

最后得到的结果如下:

在这里插入图片描述
在这里插入图片描述
后面的一个难点在于如何去挖掘基础变量,这就需要积累足够多的业务经验了。怀挺!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值