consulta de dataframe y array
Publicado por Marco (1 intervención) el 31/10/2020 15:18:08
Buenas, soy nuevo en ello, ya importé la BD y tengo la siguiente tabla
df=pd.read_csv('PM_train.txt', sep =' ', header=None).drop([26,27],axis=1)
col_names = ['Activo','Ciclo','setting1','setting2','setting3','s1','s2','s3','s4','s5','s6','s7','s8','s9','s10','s11','s12','s13','s14','s15','s16','s17','s18','s19','s20','s21']
df.columns=col_names
Activo Ciclo setting1 setting2 setting3 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21
0 1 1 -0.0007 -0.0004 100.0 518.67 641.82 1589.70 1400.60 14.62 21.61 554.36 2388.06 9046.19 1.3 47.47 521.66 2388.02 8138.62 8.4195 0.03 392.0 2388.0 100.0 39.06 23.4190
1 1 2 0.0019 -0.0003 100.0 518.67 642.15 1591.82 1403.14 14.62 21.61 553.75 2388.04 9044.07 1.3 47.49 522.28 2388.07 8131.49 8.4318 0.03 392.0 2388.0 100.0 39.00 23.4236
2 1 3 -0.0043 0.0003 100.0 518.67 642.35 1587.99 1404.20 14.62 21.61 554.26 2388.08 9052.94 1.3 47.27 522.42 2388.03 8133.23 8.4178 0.03 390.0 2388.0 100.0 38.95 23.3442
3 1 4 0.0007 0.0000 100.0 518.67 642.35 1582.79 1401.87 14.62 21.61 554.45 2388.11 9049.48 1.3 47.13 522.86 2388.08 8133.83 8.3682 0.03 392.0 2388.0 100.0 38.88 23.3739
4 1 5 -0.0019 -0.0002 100.0 518.67 642.37 1582.85 1406.22 14.62 21.61 554.00 2388.06 9055.15 1.3 47.28 522.19 2388.04 8133.80 8.4294 0.03 393.0 2388.0 100.0 38.90 23.4044
he generado una rutina para tomar la columna 'Ciclo', y tener una referencia de condiciones
falla = np.array(dataset['Ciclo'])
for n in falla:
if n <= 80:
#break
#print('Bueno')
print('1')
else:
if n <= 150:
#pr
print('2')
else:
n > 151
#print('Grave')
print('3')
ahora que quiero crear una nueva columna, "Faults", no logro tener la referencia de lo mencionado; dentro de ciclo tengo valores desde 1 a 250, por ello la referencia anterior de falla:
La columna creada "Faults" está dada por
dataset['Faults'] = pd.Series([falla for x in range(len(dataset.index))]) #-> ok, genera 0 en Faults
#dataset['Faults'] = np.append(dataset,[] )
#df['new'] = pd.Series([0 for x in range(len(df.index))])
dataset.head(10)
pero no me logro tener la referencia de comparación para cada uno de los valores de la nueva columna, no sé qué estoy haciendo mal, o si estoy comientiedo un error al llevar a array primero?, agradeceré sus sugerencias.
df=pd.read_csv('PM_train.txt', sep =' ', header=None).drop([26,27],axis=1)
col_names = ['Activo','Ciclo','setting1','setting2','setting3','s1','s2','s3','s4','s5','s6','s7','s8','s9','s10','s11','s12','s13','s14','s15','s16','s17','s18','s19','s20','s21']
df.columns=col_names
Activo Ciclo setting1 setting2 setting3 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21
0 1 1 -0.0007 -0.0004 100.0 518.67 641.82 1589.70 1400.60 14.62 21.61 554.36 2388.06 9046.19 1.3 47.47 521.66 2388.02 8138.62 8.4195 0.03 392.0 2388.0 100.0 39.06 23.4190
1 1 2 0.0019 -0.0003 100.0 518.67 642.15 1591.82 1403.14 14.62 21.61 553.75 2388.04 9044.07 1.3 47.49 522.28 2388.07 8131.49 8.4318 0.03 392.0 2388.0 100.0 39.00 23.4236
2 1 3 -0.0043 0.0003 100.0 518.67 642.35 1587.99 1404.20 14.62 21.61 554.26 2388.08 9052.94 1.3 47.27 522.42 2388.03 8133.23 8.4178 0.03 390.0 2388.0 100.0 38.95 23.3442
3 1 4 0.0007 0.0000 100.0 518.67 642.35 1582.79 1401.87 14.62 21.61 554.45 2388.11 9049.48 1.3 47.13 522.86 2388.08 8133.83 8.3682 0.03 392.0 2388.0 100.0 38.88 23.3739
4 1 5 -0.0019 -0.0002 100.0 518.67 642.37 1582.85 1406.22 14.62 21.61 554.00 2388.06 9055.15 1.3 47.28 522.19 2388.04 8133.80 8.4294 0.03 393.0 2388.0 100.0 38.90 23.4044
he generado una rutina para tomar la columna 'Ciclo', y tener una referencia de condiciones
falla = np.array(dataset['Ciclo'])
for n in falla:
if n <= 80:
#break
#print('Bueno')
print('1')
else:
if n <= 150:
#pr
print('2')
else:
n > 151
#print('Grave')
print('3')
ahora que quiero crear una nueva columna, "Faults", no logro tener la referencia de lo mencionado; dentro de ciclo tengo valores desde 1 a 250, por ello la referencia anterior de falla:
La columna creada "Faults" está dada por
dataset['Faults'] = pd.Series([falla for x in range(len(dataset.index))]) #-> ok, genera 0 en Faults
#dataset['Faults'] = np.append(dataset,[] )
#df['new'] = pd.Series([0 for x in range(len(df.index))])
dataset.head(10)
pero no me logro tener la referencia de comparación para cada uno de los valores de la nueva columna, no sé qué estoy haciendo mal, o si estoy comientiedo un error al llevar a array primero?, agradeceré sus sugerencias.
Valora esta pregunta


0