使用Lambda从迭代范围列表重命名列标题
opvalue_time.columns = opvalue_time.rename(lambda x: "Vol_" + x for x in range(4,80,1))
我已经有一个包含80列的数据集,现在需要把这些列的标题更新为Vol_4到Vol_80。目前这些列是没有标题的(就是0,没有任何名字)。
1 个回答
4
我觉得 rename
方法不能直接处理生成器表达式。相反,你可以用字典推导式来创建一个旧列名到新列名的映射,或者直接把一个新的列名列表赋值给 opvalue_time.columns
。你可以试试这样做:
opvalue_time.columns = ["Vol_" + str(x) for x in range(4, 80)]
这假设你的数据框最开始有76列,和指定的范围相匹配(你可能需要根据实际情况调整这个范围)