2016-05-09 22 views
5

Trên một môi trường, tôi có gấu trúc phiên bản 0.17.0 với phiên bản khó khăn 1.10.1. Trên một môi trường khác, tôi có gấu trúc phiên bản 0.18.1 với phiên bản khó khăn 1.10.4.gấu trúc mô tả 0.18.0 so với gấu trúc mô tả 0.17.0

tôi chạy đoạn mã này

from pandas import Series 
import numpy as np 
Series([1,2,3,4,5,np.NaN]).describe() 

Với phiên bản gấu trúc 0.17.0 tôi nhận được kết quả này:

count 5.000000 
mean  3.000000 
std  1.581139 
min  1.000000 
25%  2.000000 
50%  3.000000 
75%  4.000000 
max  5.000000 
dtype: float64 

với phiên bản gấu trúc 0.18.1 tôi nhận được kết quả này:

count 5.000000 
mean  3.000000 
std  1.581139 
min  1.000000 
25%   NaN 
50%   NaN 
75%   NaN 
max  5.000000 
dtype: float64 

điều gì mang lại?

+0

thông tin bổ sung. cài đặt python là phân phối Anaconda. Tôi tạo ra các môi trường với conda – cyth217

+1

'pd.Series ([1,2,3,4,5, np.NaN]) mô tả()' trong hệ thống của tôi ('pd .__ version__' trả về' 0.18.0') trả về số lượng thích hợp ...? –

+0

Phiên bản numpy của bạn cho 2 ví dụ là gì? Mỏ của tôi là '1.10.4' –

Trả lời

4

vấn đề của bạn là sử dụng Series.describe()Series.quantile(), và hiện nay là một trong reported bug (#13098) Pandas 0.18.1 nơi Series.quantile() sẽ không trở lại percentiles khi series chứa nan.

Bug demo từ # 13.098:

>>> import pandas as pd 
>>> import numpy 
>>> s = pd.Series([1, 2, 3, 4, numpy.nan]) 
>>> s.quantile(0.5) 
nan 

Nếu bạn nhìn vào pull #12752 nó trông giống như notnull sử dụng để được sử dụng để loại bỏ các nan giá trị trước khi percentiles tính, tuy nhiên nó đã được gỡ bỏ.


Cập nhật:

Vấn đề này hiện nay dường như khép lại với this commit sau đó Series.quantile() một lần nữa xử lý nan(2016/05/12).