Ошибка Pandas: элемент последовательности 0: ожидаемый экземпляр str, найден NoneType - PullRequest
1 голос
/ 29 сентября 2019

У меня есть данные, как показано ниже:

Car_Modal    Color     Number_Passenger
Proton       Black     5
Proton       Black     7
Perudua      White     5
Perudua      White     7
Perudua      Red       7
Honda                  5

Из-за того, что в строке Хонда в столбце Цвет есть значение Null, отображается ошибка, когда я использовал следующий код:

df["Join"]=df.groupby("Car_Modal")["Color"].transform(lambda x :'<br>'.join(x.unique()))

Ожидаемый результат:

Car_Modal    Color     Number_Passenger     Join
Proton       Black     5                    Black
Proton       Black     7                    Black
Perudua      White     5                    White<br>Red
Perudua      White     7                    White<br>Red
Perudua      Red       7                    White<br>Red
Honda                  5 

Кто-нибудь может поделиться со мной идеями, как решить эту проблему?

Ответы [ 2 ]

2 голосов
/ 29 сентября 2019

Вы можете построить фильтр для фильтрации на основе наличия нулевого значения в определенном столбце, используя pandas.Series.notnull :

filter_Color_null=df['Color'].notnull()
df["Join"]=df[filter_Color_null].groupby("Car_Modal")["Color"].transform(lambda x :'<br>'.join(x.unique()))

Вы также можете фильтровать по любомустолбец DataFrame с использованием DataFrame.notnull :

filter_null=df.notnull().all(axis=1)
df["Join"]=df[filter_null].groupby("Car_Modal")["Color"].transform(lambda x :'<br>'.join(x.unique()))
2 голосов
/ 29 сентября 2019

попробуйте отфильтровать данные, которые не равны нулю

df["Join"]=df[~df["Color"].isnull()].groupby("Car_Modal")["Color"] \
    .transform(lambda x :'<br>'.join(x.unique()))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...