Hướng dẫn how do you convert quarterly data to monthly data in python? - làm cách nào để bạn chuyển đổi dữ liệu hàng quý thành dữ liệu hàng tháng trong python?

Tôi có một số dữ liệu hàng quý mà tôi cần chuyển đổi thành hàng tháng để làm việc với một bộ dữ liệu khác. Dữ liệu trông như thế này:

Date Value
1/1/2010 100
4/1/2010 130
7/1/2010 160

Những gì tôi cần làm là áp đặt các giá trị trong những tháng bị thiếu để nó trông như thế này:

Date Value
1/1/2010 100
2/1/2010 110
3/1/2010 120
4/1/2010 130
5/1/2010 140
6/1/2010 150
7/1/2010 160

Không thể tìm thấy nhiều câu hỏi trước đây về cách làm điều này. Chỉ ngược lại [hàng tháng đến hàng quý]. Tôi đã thử một trong những phương pháp đó ngược lại, nhưng nó không hoạt động:

pd.PeriodIndex[df.Date, freq='M']

Điều gì sẽ là cách dễ nhất để thực hiện việc này trong gấu trúc?

Một công ty có một thách thức trong việc tách dữ liệu thành tháng. Nó đã nhận được dữ liệu sau:

Phần tưSố lượng
Quý 1700
Quý 2650

Việc phân chia trong các tháng trong mỗi quý là bằng nhau. Mục tiêu của bạn là tách dữ liệu này thành định dạng danh sách chứa số tiền mỗi tháng trong hai quý đầu tiên.

Bạn có thể sử dụng

Date Value
1/1/2010 100
2/1/2010 110
3/1/2010 120
4/1/2010 130
5/1/2010 140
6/1/2010 150
7/1/2010 160
8:

# convert to period
df['Date'] = pd.to_datetime[df['Date']].dt.to_period['M']

# set Date as index and resample
df.set_index['Date'].resample['M'].interpolate[]

Output:

         Value
         Date
         2010 - 01 100.0
         2010 - 02 110.0
         2010 - 03 120.0
         2010 - 04 130.0
         2010 - 05 140.0
         2010 - 06 150.0
         2010 - 07 160.0


Gợi ý: 2

Đối với một khung dữ liệu hàng quý như thế này :, 4 ngày trước chuyển đổi dữ liệu hàng quý thành hàng tháng và điền các giá trị bị thiếu trong gấu trúc; Python gấu trúc điền vào dữ liệu với các giá trị bị thiếu; Chức năng của gấu trúc để điền các giá trị bị thiếu từ các dữ liệu khác, tôi muốn điền vào tháng bị thiếu và quay lại GDP và đánh giá mỗi tháng và nhận được một khung dữ liệu như thế này:

        date gdp rate 0 2003 / 3 / 1 523.82 0.1 1 2003 / 6 / 1 1172.83 0.2 2 2003 / 9 / 1 1882.48 0.4 3 2003 / 12 / 1 3585.72 0.1 4 2004 / 3 / 1 706.77 0.2

df['date'] = pd.to_datetime[df['date']] df = df.sort_values[by = ['date'], ascending = [True]] df.set_index['date', inplace = True] df = df.asfreq['MS', method = 'bfill'].to_period['M'].reset_index[] print[df] date gdp rate 0 2003 - 03 523.82 0.1 1 2003 - 04 1172.83 0.2 2 2003 - 05 1172.83 0.2 3 2003 - 06 1172.83 0.2 4 2003 - 07 1882.48 0.4 5 2003 - 08 1882.48 0.4 6 2003 - 09 1882.48 0.4 7 2003 - 10 3585.72 0.1 8 2003 - 11 3585.72 0.1 9 2003 - 12 3585.72 0.1 10 2004 - 01 706.77 0.2 11 2004 - 02 706.77 0.2 12 2004 - 03 706.77 0.2

 dategdp rate 0 2003 / 3 / 1 523.82 0.1 1 2003 / 6 / 1 1172.83 0.2 2 2003 / 9 / 1 1882.48 0.4 3 2003 / 12 / 1 3585.72 0.1 4 2004 / 3 / 1 706.77 0.2

dategdp rate 0 2003 - 03 523.82 0.1 1 2003 - 04 1172.83 0.2 2 2003 - 05 1172.83 0.2 3 2003 - 06 1172.83 0.2 4 2003 - 07 1882.48 0.4 5 2003 - 08 1882.48 0.4 6 2003 - 09 1882.48 0.4 7 2003 - 10 3585.72 0.1 8 2003 - 11 3585.72 0.1 9 2003 - 12 3585.72 0.1 10 2004 - 01 706.77 0.2 11 2004 - 02 706.77 0.2 12 2004 - 03 706.77 0.2

df['date'] = pd.to_datetime[df['date']] df = df.sort_values[by = ['date'], ascending = [True]] df.set_index['date', inplace = True] df = df.asfreq['MS', method = 'bfill'].to_period['M'].reset_index[] print[df] dategdp rate 0 2003 - 03 523.82 0.1 1 2003 - 04 1172.83 0.2 2 2003 - 05 1172.83 0.2 3 2003 - 06 1172.83 0.2 4 2003 - 07 1882.48 0.4 5 2003 - 08 1882.48 0.4 6 2003 - 09 1882.48 0.4 7 2003 - 10 3585.72 0.1 8 2003 - 11 3585.72 0.1 9 2003 - 12 3585.72 0.1 10 2004 - 01 706.77 0.2 11 2004 - 02 706.77 0.2 12 2004 - 03 706.77 0.2

Date Value
1/1/2010 100
2/1/2010 110
3/1/2010 120
4/1/2010 130
5/1/2010 140
6/1/2010 150
7/1/2010 160
0


Gợi ý: 3

Tôi có một số dữ liệu hàng quý mà tôi cần đến AnyCodings_DateTime chuyển đổi thành hàng tháng để làm việc với bất kỳ bộ dữ liệu nào khác. Dữ liệu trông như thế này:, những gì tôi cần làm là áp đặt các giá trị cho AnyCodings_Datetime các tháng còn thiếu để nó trông giống như AnyCodings_Datetime này:, Điều gì sẽ là cách dễ dàng nhất để đi về bất kỳ , Không thể tìm thấy nhiều câu hỏi trước đây về cách nào Chỉ ngược lại [hàng tháng đến bất kỳ thế nào_datetime hàng quý]. Tôi đã thử một trong những phương pháp anycodings_dateTime ngược lại, nhưng nó không có công việc anycodings_dateTime:

Tôi có một số dữ liệu hàng quý mà tôi cần đến AnyCodings_DateTime chuyển đổi thành hàng tháng để làm việc với bất kỳ bộ dữ liệu nào khác. Dữ liệu trông như thế này:anycodings_datetime convert to monthly in order to work with anycodings_datetime another data set. The data looks like this:

Date Value
1/1/2010 100
2/1/2010 110
3/1/2010 120
4/1/2010 130
5/1/2010 140
6/1/2010 150
7/1/2010 160
1

Những gì tôi cần làm là áp đặt các giá trị cho AnyCodings_DateTime các tháng còn thiếu để nó trông giống như AnyCodings_DateTime này:anycodings_datetime the missing months so that it looks like anycodings_datetime this:

Date Value
1/1/2010 100
2/1/2010 110
3/1/2010 120
4/1/2010 130
5/1/2010 140
6/1/2010 150
7/1/2010 160
2

Không thể tìm thấy nhiều câu hỏi trước đây về cách nào anycodings_dateTime để làm điều này. Chỉ ngược lại [hàng tháng đến bất kỳ thế nào_datetime hàng quý]. Tôi đã thử một trong những phương pháp anycodings_dateTime ngược lại, nhưng nó không có công việc anycodings_dateTime:anycodings_datetime to do this. Only the reverse [monthly to anycodings_datetime quarterly]. I tried one of those anycodings_datetime methodologies in reverse, but it didn't anycodings_datetime work:

Date Value
1/1/2010 100
2/1/2010 110
3/1/2010 120
4/1/2010 130
5/1/2010 140
6/1/2010 150
7/1/2010 160
3

Bạn có thể sử dụng Respress:

# convert to period
df['Date'] = pd.to_datetime[df['Date']].dt.to_period['M']

# set Date as index and resample
df.set_index['Date'].resample['M'].interpolate[]

Output:

         Value
         Date
         2010 - 01 100.0
         2010 - 02 110.0
         2010 - 03 120.0
         2010 - 04 130.0
         2010 - 05 140.0
         2010 - 06 150.0
         2010 - 07 160.0


Gợi ý: 4

Sử dụng dữ liệu được cung cấp, giả sử DF1 là hàng tháng và DF2 là hàng quý., Đặt chỉ mục và lấy mẫu dữ liệu hàng quý của bạn thành hàng tháng: bởi 3

Đặt chỉ mục và lấy mẫu dữ liệu hàng quý của bạn thành hàng tháng:

Date Value
1/1/2010 100
2/1/2010 110
3/1/2010 120
4/1/2010 130
5/1/2010 140
6/1/2010 150
7/1/2010 160
6

Hợp nhất cả hai - Tôi cho rằng bạn muốn sản phẩm chứ không phải liên minh:

Date Value
1/1/2010 100
2/1/2010 110
3/1/2010 120
4/1/2010 130
5/1/2010 140
6/1/2010 150
7/1/2010 160
7


Làm thế nào để bạn chuyển đổi dữ liệu hàng quý thành hàng tháng trong Python?

Tạo một vòng lặp chuyển đổi QRT trong danh sách Quarters thành tháng với vòng công thức [QRT/3, 2].Hàm vòng [] với đối số thứ hai 2 vòng các số xuống định dạng có thể đọc được. . The round[] function with the second argument 2 rounds the numbers down to a readable format.

Làm thế nào để bạn chuyển đổi một ngày thành một phần tư trong Python?

Để trích xuất phần tư của ngày từ DateTimeIndex với tần số chuỗi thời gian cụ thể, hãy sử dụng DateTimeIndex ...
Nhập GANDAS dưới dạng PD.....
datetimeindex = pd.date_range ['2021-10-20 02:30:50', Thời kỳ = 6, TZ = 'Úc/Sydney', freq = '2m'] ....
print ["Tần số datetimeindex ...", datetimeIndex.freq].

Làm thế nào để bạn thay đổi tháng của gấu trúc sang quý?

Làm thế nào để bạn đổi ngày thành quý trong gấu trúc ?..
Nhập Gandas dưới dạng PD ..
datetimeindex = pd.date_range ['2021-10-20 02:30:50', Thời kỳ = 6, TZ = 'Úc/Sydney', freq = '2m'].
print ["DateTimeIndex tần số \ n", datetimeIndex.freq].

Bài Viết Liên Quan

Chủ Đề