Pandas复制DataFrame列到新表指定列时首值缺失问题求助
问题原因
你混淆了loc的行列选择逻辑,同时触发了pandas的自动索引对齐规则,导致值错位:
output.loc["Settings 1 Values"]的作用是选中output中行索引为"Settings 1 Values"的整行,而你实际需要操作的是名为Settings 1 Values的列,正确的列选择写法是output["Settings 1 Values"]- df1第一列的索引为0、1、2...49150,和你选中的行索引(字符串)无法匹配,赋值时pandas会自动按索引对应插入值,你看到的
Settings 1 Values列首值46,实际是df1第一列索引为1的值,原本索引为0的首值16因为匹配不到对应位置就丢失了。
修复方案
直接对目标列赋值,搭配.values提取纯值数组跳过索引对齐即可:
# 把df1第一列的值直接赋值给output的Settings 1 Values列 output["Settings 1 Values"] = df1.iloc[:, 0].values
如果你需要同时保留df1的索引,提前把output的索引设置为和df1一致即可:
output.index = df1.index output["Settings 1 Values"] = df1.iloc[:, 0]
内容的提问来源于stack exchange,提问作者parzival
相关产品推荐
相关产品推荐

