问题描述
我真的不知道该怎么办。
你能检查一下这个问题吗?
[df1]
这是第一个数据帧,我想获得第二个数据帧。
像这样
我在 Pandas 中使用 resample 方法得到了一个索引值 DATE(Week),DATE(Month)。 但我不知道像第二个表一样合并表。 所以请检查这个问题。非常感谢。
解决方法
我从您的问题中了解到,您希望将 DATE
列多样化到其最近的 week
和 month
,因此如果是这种情况,您无需创建两个单独的 DataFrame,使用 DateOffsets
#taking sample from your data
import pandas as pd
from pandas.tseries.offsets import *
>>d = {'DATE': ['2019-01-14','2019-01-16','2019-02-19'],'TX_COST': [156800,157000,150000]}
>>df = pd.DataFrame(data=d)
>>df
DATE TX_COST
0 2019-01-14 156800
1 2019-01-16 157000
2 2019-02-19 150000
#convert Date column to datetime format
df['DATE'] = pd.to_datetime(df['DATE'])
#as per your requirement set weekday=6 that is sunday as the week ending date
>>> df['WEEK'] = df['DATE'] + Week(weekday=6)
>>> df
DATE TX_COST WEEK
0 2019-01-14 156800 2019-01-20
1 2019-01-16 157000 2019-01-20
2 2019-02-19 150000 2019-02-24
#use month offset to round the date to nearest month end
>>> df['MONTH'] = df['DATE'] + pd.offsets.MonthEnd()
>>> df
DATE TX_COST WEEK MONTH
0 2019-01-14 156800 2019-01-20 2019-01-31
1 2019-01-16 157000 2019-01-20 2019-01-31
2 2019-02-19 150000 2019-02-24 2019-02-28
这将创建您需要的 DataFrame