在 panda 数据框中使用“groupby”和“Grouper”对日期时间对象值进行分组时出错

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

在尝试根据年份对包含日期的列进行分组时,我遇到以下错误。 我已将列转换为日期时间对象并尝试了 groupby 和 Grouper 方法,但面临以下错误: 日期/时间列 = Earth_time

df['earth_time']=pd.to_datetime(df['earth_time'])

dff=df.groupby(df.earth_time.dt.year)['max_ground_temp(°C)'].mean()
TypeError: Could not convert -20-2-20-1-1-1-5-11-6-8-9-2-3-1-4-5-5-10-30-3-6-6-5-6-8-6-6-8-4-5-3-4-5-8-6-5-3-3-2-1-1-1-3200-1-1-10-1-2-2-4-1000-2-3-100-1-1-50-2-2-10-2-6-2-200-1-2-2-1-3-3-4-2-9-5-7-7-10-100-9-12-9-10-12-7-12-12-8-130-1-11-2Value not available-23-3-2-15-15-14-11-7-16-6-3Value not availableValue not availableValue not available-40-15-16-15-18-11-16Value not availableValue not available to numeric

df = df.groupby(pd.Grouper(freq='Y', level='datetime'))
ValueError: The level datetime is not valid

为了进一步了解上下文,我有一个数据表,其中包含包含字符串的 Earth_time 列,我尝试将其转换为日期时间以最终按年份对它们进行分组。我希望逐年分析数据集。 我缺少什么?请帮助我找到替代方案。

python dataframe datetime group-by data-analysis
1个回答
0
投票

转换日期时间时尝试处理无效输入

df['earth_time'] = pd.to_datetime(df['earth_time'], errors='coerce')
© www.soinside.com 2019 - 2024. All rights reserved.