合并具有相同索引的 Dataframe 和 Series

Merge a Dataframe and a Series with the same index

我得到了如下数据框:

            Name     Sales
Datetime
2021-06-01  Amy      1000
2021-06-02  Amy      1500
2021-06-03  Amy      2300
2021-06-01  Joyce    3200
2021-06-02  Joyce    1422
2021-06-03  Joyce    1002

我得到了另一个系列,如下所示:

             Weather
Datetime
2021-06-01   Rain
2021-06-02   Clear
2021-06-03   Rain, Cloudy

我期望的是根据索引合并数据框和系列:

            Name     Sales   Weather
Datetime
2021-06-01  Amy      1000    Rain
2021-06-02  Amy      1500    Clear
2021-06-03  Amy      2300    Rain, Cloudy
2021-06-01  Joyce    3200    Rain
2021-06-02  Joyce    1422    Clear
2021-06-03  Joyce    1002    Rain, Cloudy

谢谢!

正如您发布的那样,“系列”是一个单列 DataFrame。无论如何,您所要做的就是分配任务。 pandas 将为您匹配索引。

数据

>>> df 
             Name  Sales
Datetime                
2021-06-01    Amy   1000
2021-06-02    Amy   1500
2021-06-03    Amy   2300
2021-06-01  Joyce   3200
2021-06-02  Joyce   1422
2021-06-03  Joyce   1002
>>> df2 
                 Weather
Datetime                
2021-06-01          Rain
2021-06-02         Clear
2021-06-03  Rain, Cloudy

解决方案

>>> df['Weather'] = df2
>>> df 
             Name  Sales       Weather
Datetime                              
2021-06-01    Amy   1000          Rain
2021-06-02    Amy   1500         Clear
2021-06-03    Amy   2300  Rain, Cloudy
2021-06-01  Joyce   3200          Rain
2021-06-02  Joyce   1422         Clear
2021-06-03  Joyce   1002  Rain, Cloudy

您可以通过 DataFrame.join 添加 DataFrame:

df = df.join(df1['Weather'])

如需添加Series:

df = df.join(s.rename('Weather'))