Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何根据其他列替换dataframe列中的值_Python_Pandas - Fatal编程技术网

Python 如何根据其他列替换dataframe列中的值

Python 如何根据其他列替换dataframe列中的值,python,pandas,Python,Pandas,我正在研究卡格尔比赛的NFL数据: 播放列表数据集有温度列,一些温度值为-999。我想用每种类型体育场的平均温度值来代替-999 我将体育场类型分为六类: 户外 室内休息室关闭 室内公开赛 我尝试了groupby,还创建了新的数据帧和合并,但我觉得有一个更简单的解决方案。 请在以下命令后查找以下数据集示例: play_-list_-df[播放_-list_-df['Temperature']==-999] 我想用每类体育场的温度平均值来代替-999。 下面是我使用groupby和agg'

我正在研究卡格尔比赛的NFL数据:

播放列表数据集
温度
列,一些温度值为-999。我想用每种类型体育场的平均温度值来代替
-999

我将体育场类型分为六类:

  • 户外
  • 室内休息室关闭
  • 室内公开赛
我尝试了
groupby
,还创建了新的数据帧和合并,但我觉得有一个更简单的解决方案。 请在以下命令后查找以下数据集示例:
play_-list_-df[播放_-list_-df['Temperature']==-999]

我想用每类体育场的温度平均值来代替-999。 下面是我使用groupby和agg'mean'函数得到的平均值。
play_list_df[play_list_df['Temperature']!=-999].groupby('StadiumType_cat').mean()


提前感谢您的支持。

您可以将所有-999值替换为NaN,然后按类别分组并使用
。使用lambda函数转换
,用平均值填充Na

测试很困难,因为您没有提供示例数据集(将来,不要发布代码或数据集的图片。发布实际代码或要使用的数据集)


请提供一个示例数据集以及该数据集的预期输出。欢迎使用SO!请花一点时间阅读关于如何发布熊猫的问题:谢谢你的解决方案,它是有效的,我还将听取你关于正确发布的提示。我是ML和stackoverflow方面的新手,因此确实需要您的指导。再次感谢您的支持:)没问题。始终尝试提供数据集(或至少一个样本)供人们使用和测试。我刚刚制作了一个小样本数据框供我使用,但大多数人不会。如果你愿意,也可以随时给我发电子邮件。我三年前完成了我的硕士学位。我做了关于ML和预测nfl DFS的论文。我喜欢处理体育数据。杰森。schvach@gmail.com
import numpy as np
play_list_df['Temperature'] = play_list_df['Temperature'].replace(-999, np.NaN)
play_list_df["Temperature"] = play_list_df.groupby("StadiumType_cat")['Temperature'].transform(lambda x: x.fillna(x.mean()))