У меня есть список с несколькими сериями с логическими значениями и pandas DataFrame. Количество серий в списке варьируется.
s1 = {Series: (4,)} (0, True) (1, True) (2, True) (3, True)
s2 = {Series: (4,)} (0, True) (1, True) (2, True) (3, False)
list_with_series = [s1, s2]
df = {DataFrame: (4, 8)}
Я хочу использовать numpy.where, чтобы добавить столбец в DataFrame с таким тегом:
df['Tag'] = numpy.where(' & '.join(list_with_series), 'Tag_name', '')
Когда я пытаюсь присоединиться к серии, я получаю эту ошибку:
TypeError: sequence item 0: expected str instance, Series found
Я не могу напрямую указать серию, например numpy.where(s1 & s2)
, потому что количество серий является динамическим.
Я также пытаюсь использовать numpy, потому что он требует меньше памяти.
Как лучше всего сопоставить и пометить строки в DataFrame, не изменяя использование предварительно вычисленных рядов с логическими значениями? Можно ли вообще использовать numpy в таком сценарии?
Спасибо!
Код, который вы разместили, это вообще питон? Я не могу понять, что это за
s1 = {Series: (4,)} (0, True) (1, True) (2, True) (3, True)
. Можете выложить рабочий код?Вот как это выглядит в отладчике pycharm. Это представление серии, я думаю, это возврат магического метода str. Для нас это ряд с 4 булевыми элементами
Ох, ладно. Благодарю за разъяснение. Понял :)