Pandas Dataframe Timedelta mean()没有显示正确的值



我已经搜索和搜索,还没有找到一个解决方案或只是一个答案,为什么会发生这种情况。

我试图确定在我的熊猫数据框架中Request_Closing_Time的每个行政区的mean()。当我groupby行政区,然后得到请求关闭时间的平均值,我得到非常大的值,1344天,然后甚至87,426天的一个结果。最大值只有24天,整个数据帧的平均值只有4小时。如果我用get_group命令挑出一个单独的市镇,那么我似乎得到了一个更正常的答案,我相信这是正确的。

groupby仅按行政区计算时,为什么平均值的值如此之远?

In [283]:nyc_sr_calls_trimmed.describe()
Out[283]:        Unique Key     Request_Closing_Time       Incident Zip
count  3.006980e+05    298534  298083.000000
mean   3.130054e+07    0 days 04:18:51.832782865   10848.888645
std    5.738547e+05    0 days 06:05:22.141833856   583.182081
min    3.027948e+07    0 days 00:01:00 83.000000
25%    3.080118e+07    0 days 01:16:33 10310.000000
50%    3.130436e+07    0 days 02:42:55.500000  11208.000000
75%    3.178446e+07    0 days 05:21:00 11238.000000
max    3.231065e+07    24 days 16:52:22    11697.000000
In [284]: nyc_sr_calls_trimmed['Request_Closing_Time'].mean()
Out[284]:Timedelta('0 days 04:18:51.832782865')
In [285]:by_burrough = nyc_sr_calls_trimmed.groupby(['Borough'])
by_burrough['Request_Closing_Time'].mean(numeric_only=None).dt.floor('s')
Out[285]:Borough
BRONX              -13 days +03:21:47
BROOKLYN           -13 days +03:18:24
MANHATTAN          -36 days +14:38:51
QUEENS             -16 days +07:37:05
STATEN ISLAND      -44 days +22:01:24
Unspecified     -87426 days +14:15:03
Name: Request_Closing_Time, dtype: timedelta64[ns]
In [286]:b = by_burrough.get_group('QUEENS')
b['Request_Closing_Time'].mean(numeric_only=False)
Out[286]:Timedelta('0 days 04:52:16.450111002')

任何帮助都会很感激。我不确定我没有在想什么或者没有考虑到什么。谢谢。

"如果我用get_group命令挑出一个单独的市镇,那么我似乎得到了一个更正常的答案,我相信这是正确的"

既然你上面提到了,我想尝试的是单独获得每个行政区的Request_Closing_Time的平均值,如下所示:

by_burrough["Request_Closing_Time"].apply(lambda df_group: df_group.mean(numeric_only=False))

by_burrough.apply(lambda df_group: df_group["Request_Closing_Time"].mean(numeric_only=False))

相关内容

  • 没有找到相关文章

最新更新