使用pandas中的groupby.first()替换空值

我有一个需求,需要使用groupby.first元素来替换空值(NaN)。

测试数据:

ID,Name,Cost1,A,122,B,163,C,284,A,125,D,336,B,167,A,8,C,289,C,10,D,3311,D,3312,B,1613,B,16

某一名称(项目)的成本在整个数据集中保持不变。一些成本字段没有填写。我需要根据对应的名称对象的成本来填充这些缺失的成本值。

我尝试了以下方法,但没有成功。请问有人可以帮助吗?

dataset['Cost'] = (dataset.groupby('Name')).apply(lambda x: dataset.groupby('Name')['Cost'].first())

我使用的是pandas。


回答:

尝试使用fillnamap

s = df.groupby('Name')['Cost'].first().to_dict()df['Cost'] = df['Cost'].fillna(df['Name'].map(s))

print(df)   ID Name  Cost0    1    A  12.01    2    B  16.02    3    C  28.03    4    A  12.04    5    D  33.05    6    B  16.06    7    A  12.07    8    C  28.08    9    C  28.09   10    D  33.010  11    D  33.011  12    B  16.012  13    B  16.0

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注