【问题标题】:How to concat 3 dataframes with each into sequential columns如何将 3 个数据帧与每个数据帧连接成顺序列
【发布时间】:2019-12-11 17:31:30
【问题描述】:

我试图了解如何将三个单独的数据帧(即 df1、df2、df3)连接到一个新的数据帧中,例如 df4,其中每个单独的数据帧都有自己的从左到右顺序的列。

我尝试使用 concat 和 axis = 1 来执行此操作,但似乎无法通过单个操作自动执行此操作。

Table1_updated = pd.DataFrame(columns=['3P','2PG-3Io','3Io'])
Table1_updated=pd.concat([get_table1_3P,get_table1_2P_max_3Io,get_table1_3Io])

请注意,除了get_table1_2P_max_3Io 有两列之外,所有其他数据框都有一列

例如,

get_table1_3P =

get_table1_2P_max_3Io =

get_table1_3Io =

最终,我希望看到以下内容:

【问题讨论】:

  • 你能添加一些数据样本来提问吗?
  • 所有数据帧共有10行,除了一帧只有1列
  • 很遗憾没有样本数据,minimal, complete, and verifiable example 真的很难回答,只是猜测......
  • 我不明白“每个成连续列”“其中每个单独的数据框都有自己的从左到右的列”,但我认为您的意思是“连接列,然后从组成数据帧重新排序/保留列顺序”。是的,这是concat 之后的简单列重新排序命令。另外,请发布一个示例,没有理由不将列命名为 A、B、C...

标签: pandas


【解决方案1】:

我相信您首先需要concat,然后通过列名列表更改顺序:

Table1_updated=pd.concat([get_table1_3P,get_table1_2P_max_3Io,get_table1_3Io], axis=1)

Table1_updated = Table1_updated[['3P','2PG-3Io','3Io']]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-19
    • 2022-10-12
    • 2020-12-18
    • 1970-01-01
    • 2017-02-18
    • 1970-01-01
    相关资源
    最近更新 更多