df = read_csv("my_csv.csv", dtype={"Signal" : "string"}, parse_dates=True)
for i in df["Signal"]:
t = np.array([int(x) for x in i.split(",")])
if t.sum() == 100:
#etc
Однако этот подход вызывает некоторые проблемы:
Как мне затем записать индекс текущей строки для последующей фильтрации /удалить его из моего фрейма данных
Можно ли ускорить/выполнить эту операцию более эффективно? Я думал о выделении 2d массива numpy, а затем о синтаксическом анализе чисел, чтобы выделить только один раз, но не уверен, что это будет иметь значение.
При использовании dask, в котором отсутствует глобальный индекс строки, есть ли более эффективный способ фильтровать строки, не распределяя все данные в пустые массивы?
У меня есть данные следующей формы (с заголовком) [code]Name,Signal,Date MyName,"1,2,3,4,5,6,7,8,9,10",19-04-2024 MyName,"1,2,3,4,5,6,7,8,9,10",19-04-2024 [/code] Меня интересует фильтрация строк на основе суммы массива в «Сигнале». Итак, я попробовал следующее: [code]df = read_csv("my_csv.csv", dtype={"Signal" : "string"}, parse_dates=True)
for i in df["Signal"]: t = np.array([int(x) for x in i.split(",")]) if t.sum() == 100: #etc [/code] Однако этот подход вызывает некоторые проблемы: [list] [*]Как мне затем записать индекс текущей строки для последующей фильтрации /удалить его из моего фрейма данных [*]Можно ли ускорить/выполнить эту операцию более эффективно? Я думал о выделении 2d массива numpy, а затем о синтаксическом анализе чисел, чтобы выделить только один раз, но не уверен, что это будет иметь значение. [*]При использовании dask, в котором отсутствует глобальный индекс строки, есть ли более эффективный способ фильтровать строки, не распределяя все данные в пустые массивы? [/list]