Hướng dẫn dùng df shift python

IFF DataFrame của bạn đã được sắp xếp theo các phím nhóm bạn có thể sử dụng một đĩa đơn shifttrên toàn bộ DataFrame và wheređể NaNcác hàng tràn vào nhóm tiếp theo. Đối với các DataFrame lớn hơn với nhiều nhóm, điều này có thể nhanh hơn một chút.

df['prev_value'] = df['value'].shift[].where[df.object.eq[df.object.shift[]]] object period value prev_value 0 1 1 24 NaN 1 1 2 67 24.0 2 1 4 89 67.0 3 2 4 5 NaN 4 2 23 23 5.0

Một số thời gian liên quan đến hiệu suất:

import perfplot import pandas as pd import numpy as np perfplot.show[ setup=lambda N: pd.DataFrame[{'object': np.repeat[range[N], 5], 'value': np.random.randint[1, 1000, 5*N]}], kernels=[ lambda df: df.groupby['object']['value'].shift[], lambda df: df['value'].shift[].where[df.object.eq[df.object.shift[]]], ], labels=["GroupBy", "Where"], n_range=[2 ** k for k in range[1, 22]], equality_check=lambda x,y: np.allclose[x, y, equal_nan=True], xlabel="# of Groups" ]

Bài viết liên quan

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME>> python cơ bản - lập trình python cho người mới bắt đầu>>05. số trong python

Bài sau
Chuyển chuỗi thành số trong python
Bài tiếp
Comment trong java
  • Bài viết mới nhất
  • Làm tròn số trong JavaScript [Math.round, Math.ceil, Math.floor] tháng 7 1, 2022
  • Số mũ trong JavaScript [Math.pow, Math.exp] tháng 7 1, 2022
  • Math.max và Math.min trong JavaScript tháng 7 1, 2022
  • Math.random trong JavaScript tháng 7 1, 2022
  • throw trong JavaScript và cách trả về ngoại lệ tuỳ ý tháng 7 1, 2022
  • Các ngoại lệ trong JavaScript và cách xử lý tương ứng tháng 7 1, 2022
  • try...catch trong JavaScript và cách xử lý ngoại lệ tháng 7 1, 2022
  • Xử lý ngoại lệ của hàm xử lý mô tả trong khối try tháng 7 1, 2022
Profile

Tác giả : Kiyoshi [Chis Thanh]

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.

Chủ Đề