首页 > 解决方案 > 在使用 groupby 函数进行分组并尝试打印数据框后,它缺少我分组的列中的值

问题描述

我在分组数据框的列中缺少值 这是代码

weather=[('01/01/2020','Rain',24),('02/01/2020','Sunny',38),
         ('03/01/2020','moderate',30),('04/01/2020','Rain',21),
         ('01/01/2020','Rain',24)]
df=pd.DataFrame(weather,columns=['date','climate','temperature'])
df

这是分组前的输出

date    climate temperature
0   01/01/2020  Rain    24
1   02/01/2020  Sunny   38
2   03/01/2020  moderate    30
3   04/01/2020  Rain    21
4   01/01/2020  Rain    24

应用 groupby 功能

g=df.groupby('temperature')
for temp,temperature_df in g:
    print(temp)
    print(temperature_df)

这是将 groupby 应用于数据框后的输出

21
        
 date climate temperature

3  04/01/2020    Rain         NaN

24
        
 date climate temperature

0  01/01/2020    Rain         NaN

4  01/01/2020    Rain         NaN

30
         
date   climate temperature

2  03/01/2020  moderate         NaN

38
         
date climate temperature

1  02/01/2020   Sunny  02/01/2020

如您所见,我将 NaN 作为温度列中的值。

请指教

标签: pythonpandasdataframepandas-groupby

解决方案


您可以尝试使用该df.dtypes命令查看温度值是否为数字。如果它们不是数字,您可以尝试使用:

df['temperature'] = pd.to_numeric(df['temperature'], errors='coerce').


推荐阅读