如何通过列号在pandas中实现将第二列前4字符拼接至第一列开头
错误原因
iloc的索引规则为iloc[行索引, 列索引],你写的dff.iloc[0]实际是取第0行的整行数据,不是取第0列,不符合取全量行指定列的需求,因此触发索引错误。- 你使用的
+=操作会把第二列的内容拼接在第一列末尾,不符合你需要拼在开头的需求。
正确实现代码
读取Excel后直接执行以下代码即可:
# :代表取所有行,0为第一列的列号,1为第二列的列号 excel.iloc[:, 0] = excel.iloc[:, 1].astype(str).str[:4] + excel.iloc[:, 0]
补充说明
代码中加astype(str)是为了兼容第二列内容为数字、日期等非字符串类型的场景,避免str[:4]调用报错,如果你确认第二列所有内容都是字符串格式,可以去掉这部分调用。
内容的提问来源于stack exchange,提问作者TMask
相关产品推荐
相关产品推荐

