Python DatetimeIndex无法对数据系列执行操作

Python DatetimeIndex无法对数据系列执行操作,python,pandas,Python,Pandas,在计算序列中值时,我看到“DatetimeIndex无法执行中值运算”的错误。 对此有什么建议吗?谢谢 复制代码如下 import pandas as pd import numpy as np df = pd.DataFrame({'a': pd.date_range("2012", periods=3, freq='D')}) df['a'].median() ... TypeError: DatetimeIndex cannot perform the opera

在计算序列中值时,我看到“DatetimeIndex无法执行中值运算”的错误。 对此有什么建议吗?谢谢

复制代码如下

import pandas as pd
import numpy as np

df = pd.DataFrame({'a': pd.date_range("2012", periods=3, freq='D')}) 
df['a'].median() 
...
TypeError: DatetimeIndex cannot perform the operation median 

只有将列转换为本机unix时间格式,获取中间值并转换回日期时间,才有可能:

df = pd.DataFrame({'a': pd.date_range("2012", periods=3, freq='D')}) 
m = np.median(df['a'].to_numpy().astype(np.int64)) 
print (pd.Timestamp(m))
2012-01-02 00:00:00
详细信息

print (df['a'].to_numpy().astype(np.int64))
[1325376000000000000 1325462400000000000 1325548800000000000]
另一个想法,谢谢@cs95:

print (pd.Timestamp(df['a'].astype(np.int64).median()))
2012-01-02 00:00:00

只有将列转换为本机unix时间格式,获取中间值并转换回日期时间,才有可能:

df = pd.DataFrame({'a': pd.date_range("2012", periods=3, freq='D')}) 
m = np.median(df['a'].to_numpy().astype(np.int64)) 
print (pd.Timestamp(m))
2012-01-02 00:00:00
详细信息

print (df['a'].to_numpy().astype(np.int64))
[1325376000000000000 1325462400000000000 1325548800000000000]
另一个想法,谢谢@cs95:

print (pd.Timestamp(df['a'].astype(np.int64).median()))
2012-01-02 00:00:00

pd.Timestamp(df['a'].astype(int).media())
?@cs95-我得到了
TypeError:无法从[datetime64[ns]]到[int32]
@cs95-我认为它似乎与版本有关,对我来说,工作
np.int64
而不是
int
所以int64工作,但不工作?这可能是1.1中的增强功能(我正在使用)。跟进:为什么不为系列中位数工作,但对熊猫中位数工作良好?
pd.Timestamp(df['a'].astype(int.media())
?@cs95-我得到了
TypeError:无法键入从[datetime64[ns]]到[int32]
@cs95-我认为这似乎取决于熊猫的版本,对于我来说,使用的是
np.int64
而不是
int
那么int64可以工作,但不能工作?这可能是1.1(我正在使用)中的增强。跟进:为什么不为系列中值工作,但为熊猫中值工作?