Удалить определенные значения из фрейма данных с пандами Python - PullRequest
0 голосов
/ 10 октября 2018

Пытаясь убрать шум из временных волн, я хочу удалить определенные, но разные значения в строках очень большого фрейма данных.Я мог найти только варианты удаления целых строк или столбцов, но это не то, что мне нужно.одна строка соответствует идентификатору измерения (всего 30 тыс.), а один столбец - шагу по времени (всего 2500).Фрейм данных выглядит следующим образом: x1, x2, x3, ....., x2500 -0.001213, -0.001699, 0.003154, ..., -0.001213 0.000243, -0.009706, -0.003397, ..., 0.002184 и т. Д.

Я выбрал данные для сравнения с пороговыми значениями для цикла сравнения и сохранил их в np.array с единицами и нулями.

Мне нужны выбранные данные в новом фрейме данных (для создания CSV) для дальнейшей обработки.** Выбранные данные должны состоять только из значений старого фрейма данных, для которого в массиве выбора в этой позиции есть 1. ** Спасибо за любой полезный совет.

1 Ответ

0 голосов
/ 10 октября 2018

Чтобы изменить определенные значения в строке фрейма данных, вы можете использовать метод applymap.

Предположим, у вас есть список значений, которые вы хотите заменить внутри фрейма данных:

import numpy as np
import pandas as pd

value_to_remove=[4,6,10]

arr=np.reshape(np.arange(16),(4,4))
df=pd.DataFrame(arr,columns=['a','b','c','d'])

df=df.applymap(lambda x: np.nan if x in value_to_remove else x)

Если вам нужно изменить значения внутри определенной строки, используйте вместо этого карту:

df.loc[1]=df.loc[1].map(lambda x: np.nan if x in value_to_remove else x)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...