сгруппировать в python со столбцами, имеющими значения N / A - PullRequest
0 голосов
/ 04 июня 2018

У меня есть фрейм данных:

                    x                  y                z    city
        0       -0.459476              NaN              NaN   hyd
        0             NaN        20.439870              NaN   hyd
        0             NaN              NaN         1.142743   hyd
        0             N/A              NaN              NaN   pune
        0             NaN         9.827238              NaN   pune
        0             NaN              NaN       -99.950162   pune

Я хочу, чтобы вышеупомянутый фрейм данных группировался по городам и приводил к следующему результату:

                x                      y              z    city
            -0.459476              20.439870      1.142743 hyd
               N/A                 9.827238     -99.950162 pune

Я использую следующий код:

newdf = frame[frame.columns[:3]]
newdf1 = list(newdf.columns.values)
df1 = frame.groupby(city)[newdf1].sum().reset_index()

Результат не дает мне столбец х, так как он не указан.

Как мне решить эту проблему?

1 Ответ

0 голосов
/ 04 июня 2018

groupby с ffill bfill, затем drop_duplicates

df.groupby('city').ffill().bfill().drop_duplicates(keep='first')

          x          y          z  city
0 -0.459476  20.439870   1.142743   hyd
3       N/A   9.827238 -99.950162  pune
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...