python的pandas不同结构的DF如何整列复制?

pandas里这种如何操作,df1的结构和df2的结构不一样,我想把df2的某列导入df1的某列下,逐个单元格我能解决,要是需要整列一起复制添加操作,该如何?原因是数据量比较大,逐个复制会慢
image.png
效果要如下
image.png

阅读 1.3k
2 个回答
import pandas as pd

df1 = pd.DataFrame({
    'A': range(4),
    'B': range(4),
    'C': range(4),
    'D': range(4)
})
df2 = pd.DataFrame({
    'D': [11, 22, 33],
    'E': ['aa', 'bb', 'cc']
})

new_A = pd.concat([df1['A'], df2['D'], df2['E']], ignore_index=True)

df1 = df1.reindex(range(df2.shape[0] * 2 + df1.shape[0]))

df1['A'] = new_A

print(df1)
import pandas as pd

# 创建示例 DataFrame
df1 = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6], 'c': [7, 8, 9]})
df2 = pd.DataFrame({'d': ['x', 'y', 'z'], 'e': ['p', 'q', 'r']})

# 将 df2 的列 'd' 和 'e' 插入到 df1 的 'a' 列后面,并放在下一行
new_column = pd.concat([df1['a'], df2['d'], df2['e']]).reset_index(drop=True)

# 动态获取 df1 剩余的列
remaining_columns = df1.iloc[:, 1:]

# 创建新的 DataFrame
new_df = pd.concat([new_column, remaining_columns], axis=1)

new_df.to_excel('test.xlsx', index=False)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题