替换数据帧中列中的所有数值

2024-05-19 07:58:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用从csv中的同一列计算的平均值替换所有小于120的数值。我导入了一个CSV文件作为pd,得到了一个完整的表。为了调用数据帧,我写数据,然后得到数据文件。为了调用一列,我写data.steam,为了计算该列的平均值,我写average_steam=data.steam.mean(),然后打印average_steam,返回123。所以,我希望蒸汽列中小于120的所有值都被123替换。i、 如果我有12,90,130,128110,我想得到123130128123。 将导入所有必需的库

我尝试的代码:

data.steam 
average_steam=data.steam.mean() 
print average_steam
data.steamin.replace(data.steamin<=120,average_steam, inplace=True)


Tags: 文件csv数据代码data数据文件meansteam
2条回答

如果df是您的pd.DataFrame并且x是要修改的列,请尝试:

df.x[df.x<120]=df.x.mean()

答案是{a1}

在您的情况下,它将是:

data.loc[data['steam'] < 120, 'steam'] = average_steam

以下是正在发生的事情:

通过使用data.loc可以选择一些行和列。loc中的第一个参数是行。您正在选择steam列中的值小于120的行。第二个参数是列。在本例中,您选择steam作为列。因此,您选择的是steam列中值小于120的所有行。然后将值average_steam分配给这些单元格

相关问题 更多 >

    热门问题