已解决:ValueError: too many values to unpack (expected 2)

    在python处理数据的时候出现了ValueError: too many values to unpack (expected 2)的报错,报错代码如下:

 for i, col in df.columns[1:-1:2]:  # 选择 rounds_* 列

  df.columns[1:-1:2] 返回的是一个列表,而不是一个可迭代的(包含索引和值的)元组,因此不能直接用 i, col 来解包(对应unpack)

     解决方法也很简单,我们根据编码需求,改成下面其中一种写法即可:

法一:使用enumerate枚举类型

        enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。其格式为:

enumerate(sequence, [start=0])

其中:

  • sequence -- 一个序列、迭代器或其他支持迭代对象。
  • start -- 下标起始位置的值。

即:

for i, col in enumerate(df.columns[1:-1:2]):

法二:只提供一个变量而非元组

for col in df.columns[1:-1:2]:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值