python范围内的组值



我有一个带有间隔天数和计数天数的数据图:

计数
88天 51天
54天 48天
94天 47天
292天 43天
291天 43天
428天 1
406天 1
419天 1
397天 1

尝试:

df["Day"] = df["Day"].str.split().str[0].astype(int)
tmp = pd.cut(df["Day"], [0, 50, 150, 250, 350, 450])
x = df.groupby(tmp)["Count"].sum().to_frame().T.reset_index(drop=True)
x.columns = [f"{c.right} days - {c.left} days" for c in x.columns]
print(x[x.columns[::-1]])

打印:

450 days - 350 days  350 days - 250 days  250 days - 150 days  150 days - 50 days  50 days - 0 days
0                    4                   86                    0                 146                 0

您指定的频率无效。您应该使用'30D'而不是'30 days'

例如:

import pandas as pd
mydata = {'Day':['88 days','54 days','94 days','292 days','291 days','428 days','406 days','419 days','397 days'],'Count': [51, 48, 47, 43, 43, 1, 1, 1, 1] }
df=pd.DataFrame(data=mydata)
df.index = pd.to_timedelta(df['Day'].astype(str))
df.resample('30D', axis=0).sum()

最新更新