合并具有相同索引的 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'))
我得到了如下数据框:
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'))