【问题标题】:How to combine a dataframe containing previous values ​with data frames containing current values?如何将包含先前值的数据框与包含当前值的数据框结合起来?
【发布时间】:2021-04-20 19:36:55
【问题描述】:

我有两个具有匹配索引和列的数据框。 (30 列)。

索引:时间和日期

第一个数据帧:

time    day       200-approve-packages   200-delivered-packages     ...
10.15   sunday    158                    112                        
10:30   sunday    200                    110                        
10:45   sunday    158                    145                        
11:00   sunday    180                    170                        
...

第二个:

time    day      200-approve-packages   200-delivered-packages     ...
10.15   sunday   198                    117
10:30   sunday   400                    200
10:45   sunday   154                    178
11:00   sunday   100                    200
...

输出应该是这样的:

time    day      200-approve-packages   previous-200-approve-packages    200-delivered-packages   previous-200-delivered-packages
10.15   sunday   198                    158                              117                      112
10:30   sunday   400                    200                              200                      110
10:45   sunday   154                    158                              178                      145
11:00   sunday   100                    180                              200                      170
...

第一个数据框包含previous值,第二个数据框包含当前值。有没有办法将它们以可理解的方式保存在单个数据框中?

【问题讨论】:

  • 试试pd.concat([df1, df2], axis=1)。这将使用默认索引执行外连接。
  • @Tristan 我试过了,但我真正想要的是每列与“前一个值列”并排。这样更容易理解。
  • 然后重新索引列。
  • @Tristan 我尝试了一些东西,但我想我没有成功。你能解释得更详细一点吗?谢谢。

标签: python pandas dataframe


【解决方案1】:

如果记录的顺序是 sme,请尝试以下行

 import pandas as pd
df1 = pd.read_excel('main.xlsx')
print(df1)

df2 = pd.read_excel('main2.xlsx')

df2['200-Previous-approve-packages']=df1['200-approve-packages']
df2['200-Previousdelivered-packages']=df1['200-delivered-packages']
df2.to_excel('Output.xlsx', index=False)

# in case you need to rename columns below commented code can be used

#df1.rename(columns = {'200-approve-packages':'200-Previous-approve-packages','200-delivered-packages':'200-Previousdelivered-packages'}, inplace = True)

以下是数据截图供参考

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-26
    • 2018-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多