1

我在熊猫中有一个问题处理数据框。

我真的不知道该怎么办。

你能检查一下这个问题吗?

[df1]

在此处输入图像描述

这是第一个数据帧,我想获得第二个数据帧。像这样在此处输入图像描述

我在 pandas 中使用 resample 方法得到了一个索引值 DATE(Week), DATE(Month)。但我不知道像第二个表那样合并表。所以请检查这个问题。太感谢了。

4

1 回答 1

1

我从您的问题中了解到,您希望将DATE列多样化到其最近的weekand 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

于 2021-01-07T07:36:04.477 回答