为什么Pandas的滚动方法会返回一个与原始数据类型不同的系列?

问题描述 投票:0回答:1

只是好奇为什么 Pandas Series 滚动窗口方法不保留原始系列的数据类型:

import numpy as np
import pandas as pd

x = pd.Series(np.ones(6), dtype='float32')
x.dtype, x.rolling(window=3).mean().dtype

输出:

(dtype('float32'), dtype('float64'))
python pandas types rolling-computation
1个回答
0
投票

x.rolling(window=3)
给你一个
pandas.core.window.rolling.Rolling
对象。
help(pandas.core.window.rolling.Rolling.mean)
包括注释:

 Returns
-------
Series or DataFrame
    Return type is the same as the original object with ``np.float64`` dtype.

这就是为什么。为什么它会做这样的事情,我不知道。也许这是一种避免失去精度的方法,因为您始终可以选择再次转换为 float32。

© www.soinside.com 2019 - 2024. All rights reserved.