【问题标题】:How to merge two pandas dataframes/ series如何合并两个熊猫数据框/系列
【发布时间】:2019-09-27 06:25:22
【问题描述】:

我正在尝试将多个 pandas 数据帧合并为一个。我有 1 个带有测量位置的主机。其他数据帧包含一个位置的多个测量值。如下:

df 1:位置 ID | X |是 | Z

       1        |1| 2 |3
       2        |3| 2 |1
       n

df 2:位置 ID |日期 |测量

       1      |January 1  12:30  |      1
       1      |January 16  12 :30 |     4
       1              ...

df 2:位置 ID |日期 |测量

       2      January 1  12:30        3
       2      January 16  12 :30      9
       2              ...

df n:位置 ID |日期 |测量

       n      January 1  12:30        4
       n      January 16 12 :30       6
       n      January 20 11:30        7            ...

我正在尝试创建这样的数据框:

df_final:位置 ID | X |是 | Z | 1月1日12:00 | 1月16日12:30| 1月20日11:30等

          1        1  2   3          1                  4             NaN
          2        3  2   1          3                  9             NaN
          n        2  5   7          4                  6             7

日期已经是日期时间对象,位置 ID 是两个数据框的索引。

我尝试使用 append、merge 和 concat 函数都使用两个框架,并在添加之前通过 List = frame['measurements'] 将框架转换为列表。

问题在于,要么在第一个数据框下添加行,而应将测量值添加到现有行的新列中(分别为位置 ID),或者日期结束 op 是新行,而新行创建具有位置 ID 的列。

很抱歉我的问题布局不太好,但我是这个论坛的新手。

【问题讨论】:

  • 并非每个位置都会在每一刻都有测量值。我希望框架填充没有值为 NaN 的列,并且如果该列尚不存在,则添加新列。最好按日期排序。

标签: pandas dataframe merge append concat


【解决方案1】:

自己找到的。 我用框架。 pivot 重塑 df2-n,然后使用 concat 将其添加到位置 df。

【讨论】:

    猜你喜欢
    • 2014-10-20
    • 2017-06-11
    • 2016-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    相关资源
    最近更新 更多