我有一个庞大的住房数据数据库,我需要填写同一类的平均值缺失。例如,在“卧室”一栏中,缺少的数据需要用具有相同/相似大小和价格的房屋的平均卧室来填充。尺寸以平方英尺为单位存储在一个称为“面积”的属性中。面积和价格属性有很多不同的值,所以我有点困惑如何处理这个问题。在python中有一种简单的方法可以做到这一点吗?另外,将区域合并成具有较少不同值的区间,并找出每个区间的平均值是否更合适?你知道吗
以下是示例数据:
location bedrooms Size(sq. ft.) price
abc 7 4500 5.5 Crore
cde 6 2250 2.1 Crore
bda 7 4500 4.75 Crore
abc NA 4500 4.5 Crore
abc 5 2250 2.3 Crore
bda NA 1350 54 Lakh
cde 5 1575 1.6 Crore
bda NA 2452 3.25 Crore
bda 3 1260 95 Lakh
cde 6 2250 2.15 Crore
abc 8 4500 3.5 Crore
您可以在python中使用groupby和transform方法来获得所需的结果。你知道吗
示例:
输出:
现在使用groupby和transform方法:
输出
如您所见,col2中的Nan值被替换为col1中类的平均值。例如,索引2变为5,即(3+5+7)/3,索引4变为4,即4/1。你知道吗
如果您想添加多个列作为“grouper”,只需在groupby方法中传入更多列即可。但是,这些值仅取所有列中值完全相同的值的平均值。在您的情况下,您可以做的是:
例如,如果位置是
abc
,大小是4000
,价格是2000
,那么这三个值相同的值的所有实例的平均值。但是,如果列具有abc
,大小为4000
,价格为2001
,则不会使用具有相同位置和大小,但价格不同的值的平均值。你知道吗您需要一个helper列来定义相似性度量,以便使用一系列值的平均值。你知道吗
相关问题 更多 >
编程相关推荐