Выберите строку, используя длину списка в ячейке панд
У меня есть таблица дф
a b c
1 x y [x]
2 x z [c,d]
3 x t [e,f,g]
Просто интересно, как выбрать строку, используя длину столбца c
такие как
df.loc[len(df.c) >1]
Я знаю, что это не правильно.... что должно быть правильным?
2 ответа
Решение
Вы можете использовать
df.loc[np.array(list(map(len,df.c.values)))>1]
Вы также можете создать четвертый столбец, который будет содержать длину каждого списка в столбце "c". Затем отфильтруйте строки так, чтобы записи в новом столбце были больше 1.
df["length"] = df["c"].apply(lambda x: len(x) > 1)
df = df.loc[df["length"], :].drop(["length"], axis=1)