describe()
因爲它在整數列上datetime列方法不相同的方式工作或浮動列
所以我們可以創建自定義方法做相同的:
import pandas as pd
from datetime import timedelta
from datetime import datetime
base = datetime.now()
date_list = [base - timedelta(days=x) for x in range(0, 20)]
df = pd.DataFrame.from_dict({'Date': date_list})
df
Date
0 2017-08-17 21:32:54.044948
1 2017-08-16 21:32:54.044948
2 2017-08-15 21:32:54.044948
3 2017-08-14 21:32:54.044948
def describe_datetime(dataframe, column, percentiles=[i/10 for i in range(1,11)]):
new_date = dataframe[column].dt.strftime('%Y-%m-%d').sort_values().values
length = len(new_date)
for percentile in percentiles:
print(percentile, ':', new_date[int(percentile * length)-1])
describe_datetime(df, 'Date')
輸出:
0.1 : 2017-07-30
0.2 : 2017-08-01
0.3 : 2017-08-03
0.4 : 2017-08-05
0.5 : 2017-08-07
0.6 : 2017-08-09
0.7 : 2017-08-11
0.8 : 2017-08-13
0.9 : 2017-08-15
1.0 : 2017-08-17
這種方法在我嘗試使用時不起作用。我也嘗試了不同的百分位數,並且返回的值是相同的。 –
@ T-Jay我創建了一個自定義方法來執行您正在尋找的任務。 –