Tengo el df con las siguientes columnas:
df.columns
['total_rech_num_6', 'total_rech_num_7', 'total_rech_num_8','max_rech_amt_6', 'max_rech_amt_7', 'max_rech_amt_8','max_amt_6', 'max_amt_7', 'max_amt_8'].
Me gustaría seleccionar solo aquellas columnas que tienen 'rech' Y '6' en el nombre de la columna.
Intenté esto para seleccionar columnas con arech ':
recharge_cols = [col for col in df.columns if 'rech' in col]
Pero no sé cómo agregar la otra condición de cadena para obtener las columnas 'rica' Y '6'. ¡¡Necesitas ayuda!!
3 respuestas
Puede usar esta expresión de 1 línea:
recharge_cols = [i for i in list(df) if 'rech' in i and '6' in i]
Prueba esto:
recharge_cols = [col for col in df.columns if 'rech' in col and '6' in col]
Use and
con otra declaración in
:
recharge_cols = [col for col in df.columns if 'rech' in col and '6' in col]
print (recharge_cols)
['total_rech_num_6', 'max_rech_amt_6']
Solución de pandas:
recharge_cols = df.columns[df.columns.str.contains('rech') &
df.columns.str.contains('6')].tolist()
print (recharge_cols)
['total_rech_num_6', 'max_rech_amt_6']
Preguntas relacionadas
Nuevas preguntas
python
Python es un lenguaje de programación multipropósito, de tipificación dinámica y de múltiples paradigmas. Está diseñado para ser rápido de aprender, comprender y usar, y hacer cumplir una sintaxis limpia y uniforme. Tenga en cuenta que Python 2 está oficialmente fuera de soporte a partir del 01-01-2020. Aún así, para preguntas de Python específicas de la versión, agregue la etiqueta [python-2.7] o [python-3.x]. Cuando utilice una variante de Python (por ejemplo, Jython, PyPy) o una biblioteca (por ejemplo, Pandas y NumPy), inclúyala en las etiquetas.