我有一个数据框,可以计算过去 7 天内新冠病例的移动平均值和病例的变化率。我在尝试按“城市”和“日期”对数据框进行分组时遇到错误。如果删除groupby,代码会运行但结果是错误的
casos_por_estado['soma_casos_7d'] = casos_por_estado.groupby(['municipio'])['casosnovos'].rolling(window=7).sum()
casos_por_estado['media_casos_7d'] = casos_por_estado['soma_casos_7d'] / 7
casos_por_estado['tx_variacaocasos'] = casos_por_estado['media_casos_7d']/casos_por_estado['media_casos_7d'].shift(periods=14)
casos_por_estado['tendenciacasos'] = casos_por_estado['tx_variacaocasos'].apply(get_trend)
if temp_is_empty:
temp_ = casos_por_estado
temp_is_empty = False
else:
temp_ = pd.concat([casos_por_estado], ignore_index=True)
#temp_ = pd.concat([s.reset_index(drop=True) for s in to_concat], axis=1)
casos_covid = temp_
temp_ = None
如果代码在删除 groupby 时运行 - 也许传递给 groupby 的“municipio”列中的某些值不是字符串/对象?
也许你可以使用 -
检查print(casos_por_estado['municipio'].apply(type).value_counts())
或
non_string_values = casos_por_estado['municipio'].apply(lambda x: not isinstance(x, str))
print(casos_por_estado[non_string_values]['municipio'].head())