我有两个DF:
- holidays_df -包含有关日期以及这些日期是否休息的信息
- df_sales -包含每个商店每天的销售信息
我想把df_sales中的每一天信息放在是否休息一天
节假日_df:
| 日期|休息日|
| - ------|- ------|
| 二零一七年十二月一日|真的|
| 二零一七年十二月二日|假|
| - -|...|
| 二零一七年十二月三十一日|假|
df.sales:
| 日期|销售额|商店|
| - ------|- ------|- ------|
| 二零一七年十二月一日|十个|1个|
| 二零一七年十二月一日|二十个|1个|
| 二零一七年十二月一日|无|第二章|
| 二零一七年十二月二日|十五|1个|
| 二零一七年十二月二日|四十五|五个|
| - -|...|这......|
| 二零一七年十二月三十一日|十个|六个|
结果可能是这样的
结果_DF:
| 日期|销售额|商店|休息日|
| - ------|- ------|- ------|- ------|
| 二零一七年十二月一日|十个|1个|真的|
| 二零一七年十二月一日|二十个|1个|真的|
| 二零一七年十二月一日|无|第二章|真的|
| 二零一七年十二月二日|十五|1个|假|
| 二零一七年十二月二日|四十五|五个|假|
| - -|...|这......|这......|
| 二零一七年十二月三十一日|十个|六个|假|
我试着用df_sales.merge(holydays_df,on ='date',how= 'left')合并它们,但是在result_df中我比原来的df_sales少了800行!
如何合并df_sales和holydays_df?我需要df_sales和result_df中的行数相同
2条答案
按热度按时间9vw9lbht1#
让我们使用
pd.Series.map
:f5emj3cl2#
使用
outer
而不是left
。这应该会保留所有行并使用NaN填充它们: