Как обрабатывать пропущенные значения - PullRequest
1 голос
/ 04 марта 2020

У меня есть набор данных жилья.

sac_new.head()    

street  city    zip state   beds    baths   sq__ft  type    sale_date   price   latitude    longitude
        0   3526 HIGH ST    SACRAMENTO  95838   CA  2   1   836 Residential Wed May 21 00:00:00 EDT 2008    59222   38.631913   -121.434879
        1   51 OMAHA CT SACRAMENTO  95823   CA  3   1   1167    Residential Wed May 21 00:00:00 EDT 2008    68212   38.478902   -121.431028
        2   2796 BRANCH ST  SACRAMENTO  95815   CA  2   1   796 Residential Wed May 21 00:00:00 EDT 2008    68880   38.618305   -121.443839
        3   2805 JANETTE WAY    SACRAMENTO  95815   CA  2   1   852 Residential Wed May 21 00:00:00 EDT 2008    69307   38.616835   -121.439146
        4   6001 MCMAHON DR SACRAMENTO  95824   CA  2   1   797 Residential Wed May 21 00:00:00 EDT 2008    81900   38.519470   -121.435768

sac_new.describe()

    zip beds    baths   sq__ft  price   latitude    longitude
count   985.000000  985.000000  985.000000  985.000000  985.000000  985.000000  985.000000
mean    95750.697462    2.911675    1.776650    1312.918782 233715.951269   38.445121   -121.193371
std 85.176072   1.307932    0.895371    856.123224  139088.818896   5.103637    5.100670
min 95603.000000    0.000000    0.000000    -984.000000 -210944.000000  -121.503471 -121.551704
25% 95660.000000    2.000000    1.000000    950.000000  145000.000000   38.482704   -121.446119
50% 95762.000000    3.000000    2.000000    1304.000000 213750.000000   38.625932   -121.375799
75% 95828.000000    4.000000    2.000000    1718.000000 300000.000000   38.695589   -121.294893
max 95864.000000    8.000000    5.000000    5822.000000 884790.000000   39.020808   38.668433

Есть нулевые значения, с которыми мне нужно иметь дело

sac_new.beds.value_counts()
3    413
4    258
2    133
0    108
5     59
1      9
6      3
8      1
Name: beds, dtype: int64

sac_new.baths.value_counts()
2    544
1    179
3    132
0    108
4     19
5      2
Name: baths, dtype: int64

sac_new.sq_ft.value_counts()
0       171
1120      8
795       6
1410      5
1039      5
       ... 
988       1
1656      1
876       1
1659      1
1235      1
Name: sq_ft, Length: 603, dtype: int64

Я думаю, что строки с нулевыми кроватями, ваннами и sq_ft могут быть земельными участками, поэтому, возможно, захотите сохранить , Но строки с нулевым sq_ft, но значения для кроватей и ванн должны быть ошибкой. Я не думаю, что я должен бросить ряды. Я думаю, что я должен добавить значения для sq_ft и основывать их на среднем sq_ft других строк. Таким образом, первый вопрос заключается в том, является ли это умной идеей или нет?

Если это так, то я думаю, что это может быть достигнуто с помощью блока кода, который ищет среднее значение sq_ft каждой комбинации кроватей и ванн. , Итак, сколько рядов имеют 1 кровать и 1 ванну и каково среднее значение общей площади. Сколько есть 1 кровать и 2 ванны ... 2 кровати и 1 ванна, 2 кровати и 2 ванны и др. c. Затем среднее значение для каждого может быть добавлено к нулевому значению sq_ft для соответствующих свойств.

Или было бы быстрее начать с проверки комбинации ванн и кроватей для 63 строк с нулевым квадратным футом, которые имеют значения ванны и кровати, а затем просто вычислить среднее квадратное число этих комбинаций, поскольку их может быть меньше есть в остальной части набора данных.

Но это настолько, насколько мой крошечный мозг может получить меня на этом этапе. Кто-нибудь может помочь? Это мой первый день публикации на stackoverflow, поэтому, если я неправильно форматирую или собираюсь объяснить что-то неправильно, дайте мне знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...