如何将一个DataFrame的部分列索引应用到另一DataFrame中
解决方案
你原有代码的columns参数只传入了3个列名,会直接丢弃data1_added的后2列。你可以通过列表拼接的方式组合完整列名,实现需求,具体有以下几种常用写法:
写法1:创建DataFrame时直接指定完整列名
如果后2列的名称你可以直接确定,直接把自定义列名拼到data1.columns后面即可:
# 示例中将后两列命名为col4、col5,可替换为你实际需要的列名 data1 = pd.DataFrame(data1_added, columns=list(data1.columns) + ['col4', 'col5'])
写法2:保留data1_added原本的后2列列名
如果你不需要修改后2列的原有名称,直接取data1_added的后2列名拼接即可:
data1 = pd.DataFrame(data1_added, columns=list(data1.columns) + list(data1_added.columns[3:]))
写法3:创建完成后再修改列名
如果你的列名需要后续动态调整,也可以先创建对象再修改列属性:
# 先基于data1_added创建DataFrame data1 = pd.DataFrame(data1_added) # 批量修改列名,前3列用data1的列名,后2列自定义 data1.columns = list(data1.columns) + ['col4', 'col5']
注意事项
- 拼接后的列名列表总长度必须和data1_added的列数(5列)完全一致,否则会触发长度不匹配的报错
- 如果
data1.columns本身已经是列表格式,可以省略list()转换,直接拼接即可
内容的提问来源于stack exchange,提问作者won
相关产品推荐
相关产品推荐

