2013-08-05 28 views

Trả lời

25

resample tổng quát hơn asfreq. Ví dụ: sử dụng resample Tôi có thể chuyển một hàm tùy ý để thực hiện chế độ ăn qua đối tượng Series hoặc DataFrame trong các thùng có kích thước tùy ý. asfreq là một cách súc tích để thay đổi tần số của đối tượng DatetimeIndex. Nó cũng cung cấp chức năng đệm.

Khi tài liệu hướng dẫn gấu trúc cho biết, asfreq là trình bao bọc mỏng xung quanh cuộc gọi đến date_range + gọi tới reindex. Xem here để biết ví dụ.

Một ví dụ về resample mà tôi sử dụng trong công việc hàng ngày của tôi được tính toán số lượng gai của một tế bào thần kinh trong 1 thùng thứ hai bằng resampling một mảng boolean lớn, nơi True có nghĩa là "mũi nhọn" và False có nghĩa là "không có cành". Tôi có thể làm điều đó dễ dàng như large_bool.resample('S', how='sum'). Loại gọn gàng!

asfreq có thể được sử dụng khi bạn muốn thay đổi DatetimeIndex để có tần số khác nhau trong khi giữ lại các giá trị giống nhau tại chỉ mục hiện tại.

Dưới đây là một ví dụ mà họ đang có tương đương:

In [6]: dr = date_range('1/1/2010', periods=3, freq=3 * datetools.bday) 

In [7]: raw = randn(3) 

In [8]: ts = Series(raw, index=dr) 

In [9]: ts 
Out[9]: 
2010-01-01 -1.948 
2010-01-06 0.112 
2010-01-11 -0.117 
Freq: 3B, dtype: float64 

In [10]: ts.asfreq(datetools.BDay()) 
Out[10]: 
2010-01-01 -1.948 
2010-01-04  NaN 
2010-01-05  NaN 
2010-01-06 0.112 
2010-01-07  NaN 
2010-01-08  NaN 
2010-01-11 -0.117 
Freq: B, dtype: float64 

In [11]: ts.resample(datetools.BDay()) 
Out[11]: 
2010-01-01 -1.948 
2010-01-04  NaN 
2010-01-05  NaN 
2010-01-06 0.112 
2010-01-07  NaN 
2010-01-08  NaN 
2010-01-11 -0.117 
Freq: B, dtype: float64 

Theo như khi sử dụng một trong hai: nó phụ thuộc vào vấn đề bạn có trong tâm trí ... quan tâm để chia sẻ?

Các vấn đề liên quan