cuốn sách gpt4 ai đã làm

python - Số hành động trung bình mỗi ngày trong tuần bằng cách sử dụng gấu trúc

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 15:52:14 30 4
mua khóa gpt4 Nike

Giả sử tôi có số liệu thống kê sau về số lượng sự kiện mỗi giờ:

np.random.seed(42)
idx = pd.date_range('2017-01-01', '2017-01-14', freq='1H')
df = pd.DataFrame(np.random.choice([1,2,3,4,5,6], size=idx.shape[0]), index=idx, columns=['count'])
df.head()

Out[3]:
đếm
2017-01-01 00:00:00 4
2017-01-01 01:00:00 5
2017-01-01 02:00:00 3
2017-01-01 03:00:00 5
2017-01-01 04:00:00 5

Nếu tôi muốn biết giá trị cho từng ngày trong tuầntổng cộngVới số lượng sự kiện, tôi có thể thực hiện bất kỳ thao tác nào sau đây:

df.pivot_table(values='count', index=df.index.dayofweek, aggfunc='sum')

hoặc

df.groupby(df.index.dayofweek).sum()

Hai sản lượng:

Ra [4]:
đếm
0 161
1 170
2 164
3 133
4 169
5 98
6 172

Tuy nhiên, nếu tôi muốn tính toánSố sự kiện trung bình mỗi ngày làm việc, thì như sau

df.pivot_table(values='count', index=df.index.dayofweek, aggfunc='mean') # [#1]

sai lầm!!Phương pháp này lấy tổng (được tính như trên) và chia cho số giờ xảy ra trong mỗi ngày trong tuần.

Giải pháp tôi tìm thấy là:

df_by_day = df.resample('1d').sum()
df_by_day.pivot_table(values='count', index=df_by_day.index.dayofweek, aggfunc='mean')

Nghĩa là, trước tiên hãy lấy mẫu lại theo số ngày, sau đó xoay nó. Bằng cách nào đó,[#1] Phương pháp này có vẻ tự nhiên đối với tôi. Có cách nào khác hơn để đạt được điều tôi muốn không? Tại sao lại xảy ra lỗi tính toán trung bình khi không lấy mẫu lại?

câu trả lời hay nhất

Lấy mẫu lại lần đầu tiên bằng cách sử dụng df.resample và sau đó df.groupby :

df = df.resample('1d').sum()
in(df)

đếm
2017-01-01 92
2017-01-02 86
2017-01-03 86
2017-01-04 90
2017-01-05 64
2017-01-06 82
2017-01-07 97
2017-01-08 80
2017-01-09 75
2017-01-10 84
2017-01-11 74
2017-01-12 69
2017-01-13 87
2017-01-14 1

out = df.groupby(df.index.dayofweek)['count'].mean()
in (ra)

1 85,0
2 82,0
3 66,5
4 84,5
5 49,0
6 86,0
Tên: đếm, dtype: float64

Về python - số hành động trung bình mỗi ngày trong tuần khi sử dụng gấu trúc, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/45922291/

30 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress