У меня возникли трудности с попыткой использовать Python для удаления некоторых избыточности данных до создания диаграммы рассеяния. У меня есть n на 43 dataframe, импортированных с помощью pandas. Я выяснил, как определить пороговые значения для выбросов и применить их к кадру данных, так что теперь у меня есть некоторые логические значения, соответствующие тому, должны ли данные включаться в график рассеяния или нет. Однако я стараюсь использовать эту информацию, чтобы исключить соответствующие точки данных.Исключая данные из фрейма данных pandas на основе процентилей
Мой код до сих пор:
def identify_outliers(self,parameters_file):
data=pandas.read_csv(parameters_file) #import data
header=data.keys() #get header
quantiles = data.quantile([0.25,0.75],1) #determine thresholds for all data
for i in range(len(header)):
qnt_i = quantiles[header[i]].as_matrix() #get handle to quantiles
#for specific column of data
#identify data points that fall outside this range
boolean_data=data[header[i]].between(qnt_i[0],qnt_i[1])
for j in range(len(boolean_data)): #attempt to use boolean values to filter
#data to only include 'True' (doesn't work)
if boolean_data[j]:
print data[header[i]]
Вот фрагмент данных, который ввозится с использованием pandas.read_csv
(v1).Kcat (v1).km (v11).k1
1.22E-02 1.20E-02 1.72E-06
0.0122441 1.42E-02 1.61E-06
1.04E-02 1.01E-02 1.00E-06
0.0136581 0.0185623 5.01158
0.0113221 0.0221445 0.0785929
0.506949 0.01 1.35E-06
1.16567 0.0141031 168.078
0.01 0.0100055 1.25E-06
0.0351003 153.682 163.082
0.0129821 0.0164996 0.0560866
Кто-нибудь есть предложение о том, как я могу фильтровать данные «» для удаления всех значений, которые не попадают в указанный диапазон.
Вы можете указать, какие столбцы находятся в текущем df после запуска кода? В частности, покажите, какими столбцами являются необработанные данные и булевский столбец. – AZhao