Creación de un proyecto de aplicación Blazor WebAssembly hospedado
Siga las instrucciones para su elección de herramientas:
Se requiere Visual Studio 16.8 o posterior y el SDK de .NET Core 5.0.0 o posterior.
Cree un nuevo proyecto.
Seleccione Aplicación Blazor y luego Siguiente.
Escriba BlazorSignalRApp en el campo Nombre del proyecto. Confirme que la entrada de Ubicación es correcta o proporcione una ubicación para el proyecto. Seleccione Crear.
Elija la plantilla Aplicación de Blazor WebAssembly .
En Avanzado, active la casilla ASP.NET Core hospedado.
Seleccione Crear.
Adición de la biblioteca cliente de SignalR
En el Explorador de soluciones, haga clic con el botón derecho en el proyecto BlazorSignalRApp.Client y seleccione Administrar paquetes NuGet.
En el cuadro de diálogo Administrar paquetes NuGet, confirme que Origen del paquete se ha establecido en nuget.org.
Con Examinar seleccionado, escriba Microsoft.AspNetCore.SignalR.Client en el cuadro de búsqueda.
Si aparece el cuadro de diálogo Vista previa de los cambios, seleccione Aceptar.
Si aparece el cuadro de diálogo Aceptación de la licencia, seleccione Acepto si está de acuerdo con los términos de la licencia.
Agregar un concentrador de SignalR
En el proyecto BlazorSignalRApp.Server, cree una carpeta Hubs (plural) y agregue la siguiente clase ChatHub (Hubs/ChatHub.cs):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.SignalR;
namespace BlazorSignalRApp.Server.Hubs
{
public class ChatHub : Hub
{
public async Task SendMessage(string user, string message)
{
await Clients.All.SendAsync("ReceiveMessage", user, message);
}
}
}
Adición de servicios y de un punto de conexión para el concentrador de SignalR
En el proyecto BlazorSignalRApp.Server, abra el archivo Startup.cs.
Agregue el espacio de nombres para la clase ChatHub en la parte superior del archivo:C#Copiarusing BlazorSignalRApp.Server.Hubs;
Agregue servicios de middleware de compresión de respuesta y SignalR a Startup.ConfigureServices:
En el Explorador de soluciones, seleccione el proyecto BlazorSignalRApp.Server. Presione F5 para ejecutar la aplicación con depuración o Ctrl+F5 para ejecutarla sin depuración.
Copie la dirección URL de la barra de direcciones, abra otra instancia o pestaña del explorador, y pegue la dirección URL en la barra de direcciones.
Elija cualquier explorador, escriba un nombre y un mensaje, y haga clic en el botón para enviar el mensaje. El nombre y el mensaje se muestran en ambas páginas al instante:
Mientras trabaja en proyectos de ciencia de datos, generalmente obtiene una gran cantidad de datos. Pero es posible que deba trabajar solo con un subconjunto de columnas de los datos. Esta selección de datos necesarios se realiza para simplificar las tareas. Además, las velocidades de cálculo también se mejoran al trabajar con un conjunto de datos más pequeño. Hay varias maneras de seleccionar columnas de trama de datos, incluyendo loc, iloc, filter, etc. Este post cubre todos los métodos con ejemplos.
Crear un conjunto de datos de muestra
Comience creando un marco de datos de pandas simple como se muestra a continuación. Tiene 6 columnas.
Una de las formas más básicas en pandas para seleccionar columnas del marco de datos es pasando la lista de columnas al operador de indexación del objeto del marco de datos.
# Selecting columns by passing a list of desired columns
df[['Color', 'Score']]
2. Selección de columnas mediante la lista de columnas
El dataframe_name.columnsdevuelve la lista de todas las columnas de la trama de datos. Puede usar esto como una de las formas de acceder a múltiples columnas en pandas. Debe pasar la lista modificada de columnas en el operador de indexación del marco de datos. Este método se puede realizar de dos formas:
A. Pasando la lista de columnas divididas
Puede dividir los nombres de columna deseados de la lista de todas las columnas devueltas dataframe_name.columnspor indexación.
# slicing df.columns to access the last two columns of the dataframe
df[df.columns[-2:]]
B. Búsqueda de columnas deseadas usando isin()
La función se usa para verificar si un elemento está presente en la lista. Aquí, la función se puede usar para verificar si el nombre de una columna está presente en la lista, así como la lista de columnas deseadas. Esto ayuda a seleccionar varias columnas de la lista de todas las columnas. La función devuelve una matriz booleana, donde valor denota que el nombre de la columna estaba presente en ambas listas.isin(), the isin()df.columnsTrue
# Creating the boolean mask
booleanMask = df.columns.isin(['State', 'Food'])
# saving the selected columns
selectedCols = df.columns[booleanMask]
# selecting the desired columns
df[selectedCols]
3. Usar .loc y .iloc para seleccionar columnas por nombre o posición
Los pandas y los indexadores se pueden usar con el marco de datos de pandas para reducir un marco de datos grande en un marco de datos pequeño. Estos indexadores se pueden utilizar para la selección de filas y columnas..loc.iloc
A. Usando indexador.loc
The loctoma nombres de columnas o listas de columnas y devuelve una fila o un marco de datos. El indexador toma tanto filas como columnas. Por lo tanto, para seleccionar solo columnas del marco de datos, puede dejar la división de filas como :, lo que seleccionará todas las filas del marco de datos.
Para la división de columnas, puede pasar el nombre de la columna que se seleccionará.
The ilocindexador es similar al indexador. La única diferencia es que toma índices de columnas o índices de listas de columnas y devuelve una fila o marco de datos..lociloc
Aquí también, puede dejar la división de filas :para seleccionar todas las filas y para la división de columnas, puede pasar los índices de la columna o una lista de índices de las columnas que se seleccionarán.
# .iloc single column selection
df.iloc[:, [0, 2, 3] ]
4. Usar métodos de filtro para seleccionar columnas que contienen ciertas palabras.
Puede usar la función de filtro del marco de datos de pandas para seleccionar columnas que contengan una cadena específica en los nombres de las columnas.
El parámetro likede la función define esta cadena específica. Si el nombre de una columna contiene la cadena especificada, esa columna se seleccionará y se devolverá el marco de datos..filter
# selecting columns where column name contains 'Average' string
df.filter(like='Average')
5. Pandas Selecciona columnas según su tipo de datos.
El marco de datos de Pandas tiene la función select_dtypes, que tiene un includeparámetro. Especifique el tipo de datos de las columnas que desea seleccionar usando este parámetro. Esto puede resultarle útil si desea seleccionar solo columnas de tipos de datos específicos del marco de datos.
También puede seleccionar columnas basadas en reglas de expresiones regulares. Utilice el regexparámetro en la función de filtro para obtener columnas donde los nombres de columna se evalúan como Verdadero en una expresión dada.
La selección de columnas según los tipos de datos puede resultar útil al realizar un análisis exploratorio de datos. Tendrá diferentes tipos de datos separados, lo que eliminará el proceso de crear manualmente la lista de columnas para diferentes tipos de datos.
Pandas es un marco de código abierto rápido, eficiente, modular y fácil de usar para el análisis y la manipulación de datos. Está diseñado sobre el lenguaje de programación Python y, por lo tanto, Pandas es pitónico.
Ubuntu 20.04 , cuyo nombre en código es Focal Fossa, es la versión más reciente de Ubuntu LTS. Saldrá en abril de 2020 y tendrá soporte durante 5 años hasta abril de 2025 (soporte estándar).
Ubuntu 20.04 también incluye Python 3 de forma predeterminada, por lo que no es necesario instalarlo también. Este es un movimiento de mandato porque la Fundación Python ya anunció el EOL de Python 2 , que es el 1 de enero de 2020. En las versiones anteriores de Ubuntu, Python 2 es el predeterminado y escribir python en la terminal lo llevará a Python 2, lo que significa tenemos que escribir python3 para usar Python 3. Ahora puede instalar python-is-python3, que se establecerá python en python3.
Método 1: instalar el python3-pandaspaquete del sistema
El primer método es instalar el paquete del sistema python3-pandas en Ubuntu 20.04. La versión puede estar desactualizada, pero generalmente viene con menos errores que pueden introducirse en versiones posteriores. Aquí está la información sobre python3-pandas:
Paquete: python3-pandas
Versión: 0.25.3 + dfsg-7
Prioridad: opcional
Sección: universe / python
Fuente: pandas
Origen: Ubuntu
Mantenedor: Desarrolladores de Ubuntu [email protected] Mantenedor
original: Debian Science Team [email protected]
Errores: https://bugs.launchpad.net/ubuntu/+filebug
Tamaño instalado: 14.3 MB
Depende: python3 (<< 3.9), python3 (> = 3.8 ~), python3-dateutil, python3-numpy (> = 1: 1.15 ~), python3-tz, python3: any, python3-pandas-lib (> = 0.25 .3 + dfsg-7), python3-pkg-resources, python3-six
Recomienda: python3-scipy, python3-matplotlib, python3-numexpr, python3-tables, python3-xlrd, python3-openpyxl, python3-xlwt, python3-bs4, python3-html5lib, python3-lxml
Sugiere: python-pandas-doc, python3-statsmodels
Descansos: cnvkit (<< 0.9.6-1.1), python3-feather-format (<< 0.3.1 + dfsg1-2.1), python3-skbio (<< 0.5.5-2.1), python3-statsmodels (<< 0.10 .0 ~), tipos q2 (<< 2019.7.0-1.1)
Inicio: https://pandas.pydata.org/
Tamaño de descarga: 1,968 kB
Fuentes APT: http://archive.ubuntu.com/ubuntu focal / universe paquetes amd64
Descripción: estructuras de datos para datos "relacionales" o "etiquetados"
pandas es un paquete de Python que proporciona rapidez, flexibilidad y expresividad
estructuras de datos diseñadas para trabajar con "relacionales" o
datos "etiquetados" fáciles e intuitivos. Pretende ser el fundamental
bloque de construcción de alto nivel para hacer datos prácticos del mundo real
análisis en Python. pandas es adecuado para muchos tipos diferentes de
datos:
.
Datos tabulares con columnas de tipos heterogéneos, como en un SQL
tabla o hoja de cálculo de Excel
Tiempo ordenado y desordenado (no necesariamente de frecuencia fija)
datos de la serie.
Datos matriciales arbitrarios (homogéneamente tipificados o heterogéneos) con
etiquetas de fila y columna
Cualquier otra forma de conjuntos de datos observacionales / estadísticos. Los datos
en realidad, no es necesario etiquetarlo en absoluto para colocarlo en un pandas
estructura de datos
.
Este paquete contiene la versión Python 3.
Para instalar el paquete, ejecute el siguiente apt installcomando y presione «Y» para continuar con la instalación:
sudo apt install python3-pandas
Verá la salida como la captura de pantalla a continuación (todo el texto se pega después de la captura de pantalla). Python 3 y numpy también se instalarán si no lo tiene en su sistema. Como puede ver a continuación, ocupará 100 MB de su disco.
Instale el paquete de documentación de panda: python-pandas-doc
Una vez que haya instalado pandas, se recomienda instalar también el paquete de documentación python-pandas-doc. De esta manera, puede acceder fácilmente a la documentación de panda sin conexión sin tener que ir al sitio web de pandas cada vez.
Para instalarlo, ejecute el siguiente comando:
sudo apt install python-pandas-doc
Verá la salida como la captura de pantalla a continuación. Presione ‘Y’ para continuar.
vh @ varhowto-com: ~ $ sudo apt install python-pandas-doc
Leyendo listas de paquetes… Listo
Construyendo árbol de dependencia
Leyendo información de estado… Listo
Se instalarán los siguientes paquetes adicionales:
fuentes-mathjax libjs-mathjax libjs-requirejs
Paquetes sugeridos:
fuentes-mathjax-extras fonts-stix libjs-mathjax-doc
Se instalarán los siguientes paquetes NUEVOS:
fuentes-mathjax libjs-mathjax libjs-requirejs
python-pandas-doc
0 actualizado, 4 recién instalados, 0 para eliminar y 49 sin actualizar.
Necesita obtener 14,8 MB de archivos.
Después de esta operación, se utilizarán 105 MB de espacio adicional en disco.
¿Quieres continuar? [Y / n] años
Obtenga: 1 http://archive.ubuntu.com/ubuntu focal / universe amd64 fonts-mathjax all 2.7.4 + dfsg-1 [2,208 kB]
Obtener: 2 http://archive.ubuntu.com/ubuntu focal / universe amd64 libjs-requirejs all 2.3.6-1 [29.9 kB]
Obtener: 3 http://archive.ubuntu.com/ubuntu focal / universe amd64 libjs-mathjax all 2.7.4 + dfsg-1 [5,654 kB]
Obtenga: 4 http://archive.ubuntu.com/ubuntu focal / universe amd64 python-pandas-doc all 0.25.3 + dfsg-7 [6,939 kB]
Obtenido 14,8 MB en 2 s (6886 kB / s)
Seleccionando el paquete fonts-mathjax previamente no seleccionado.
(Leyendo la base de datos… 287140 archivos y directorios instalados actualmente).
Preparándose para descomprimir… / fonts-mathjax_2.7.4 + dfsg-1_all.deb…
Desempaquetando fonts-mathjax (2.7.4 + dfsg-1)…
Seleccionando el paquete libjs-requirejs previamente no seleccionado.
Preparándose para descomprimir… / libjs-requirejs_2.3.6-1_all.deb…
Desempaquetando libjs-requirejs (2.3.6-1)…
Seleccionando el paquete libjs-mathjax no seleccionado previamente.
Preparándose para descomprimir… / libjs-mathjax_2.7.4 + dfsg-1_all.deb…
Desempaquetando libjs-mathjax (2.7.4 + dfsg-1)…
Seleccionando el paquete python-pandas-doc previamente no seleccionado.
Preparándose para descomprimir… / python-pandas-doc_0.25.3 + dfsg-7_all.deb…
Desempaquetando python-pandas-doc (0.25.3 + dfsg-7)…
Configurando fonts-mathjax (2.7.4 + dfsg-1)…
Configurando libjs-mathjax (2.7.4 + dfsg-1)…
Configurando libjs-requirejs (2.3.6-1)…
Configurando python-pandas-doc (0.25.3 + dfsg-7)…
Procesando activadores para fontconfig (2.13.1-2ubuntu3)…
A veces, se prefiere usar un administrador de paquetes de Python para instalar pandas, especialmente si desea usar la última versión de pandas. pandas se ha actualizado recientemente a la versión 1 y el del repositorio oficial de Ubuntu 20.04 sigue siendo 0.25.3.
Paso 1: instalar pip3(y Python3)
Hay dos administradores de paquetes de Python principales. El primero es el oficial llamado Pip, y otro es Conda (Anaconda o Miniconda). En caso de duda o para principiantes, el oficialpip se recomienda .
Instale Python 3 y pip para pandas
Pipes el administrador de paquetes nativo de Python. Lo usaremos para instalar pandas. Para instalar pip3, ejecute el siguiente comando. Porque pip3depende de Python 3, python3también se instalará si no está en su sistema Ubuntu 20.04.
sudo apt install python3-pip
Verá un resultado similar a la captura de pantalla a continuación. Presione «Y» para continuar. Como puede notar, también se instalará python-pip-whly python3-wheel, donde wheel es el formato de paquete integrado para Python.
Aquí está el resultado completo de la pip3instalación
vh @ varhowto-com: ~ $ sudo apt install python3-pip
Leyendo listas de paquetes… Listo
Construyendo árbol de dependencia
Leyendo información de estado… Listo
Se instalarán los siguientes paquetes adicionales:
python-pip-whl python3-rueda
Se instalarán los siguientes paquetes NUEVOS:
python-pip-whl python3-pip python3-rueda
0 actualizado, 3 recién instalados, 0 para eliminar y 49 sin actualizar.
Necesita obtener 2.053 kB de archivos.
Después de esta operación, se utilizarán 3455 kB de espacio adicional en disco.
¿Quieres continuar? [Y / n] años
Obtenga: 1 http://archive.ubuntu.com/ubuntu focal / universe amd64 python-pip-whl all 20.0.2-5ubuntu1 [1,799 kB]
Obtener: 2 http://archive.ubuntu.com/ubuntu focal / universe amd64 python3-wheel all 0.34.2-1 [23.8 kB]
Obtener: 3 http://archive.ubuntu.com/ubuntu focal / universe amd64 python3-pip all 20.0.2-5ubuntu1 [230 kB]
Obtenido 2053 kB en 1 s (2104 kB / s)
Seleccionar el paquete python-pip-w previamente no seleccionado
hl.
(Leyendo la base de datos… 273191 archivos y directorios c
instalado actualmente.)
Preparándose para descomprimir… / python-pip-whl_20.0.2-5ubunt
u1_all.deb…
Desempaquetando python-pip-whl (20.0.2-5ubuntu1)…
Seleccionar el paquete python3-whee previamente no seleccionado
l.
Preparándose para descomprimir… / python3-wheel_0.34.2-1_all.d
eb ...
Desembalaje de python3-wheel (0.34.2-1)…
Seleccionando el paquete python3-pip no seleccionado previamente.
Preparándose para descomprimir… / python3-pip_20.0.2-5ubuntu1_
all.deb…
Desempaquetando python3-pip (20.0.2-5ubuntu1)…
Configurando python3-wheel (0.34.2-1)…
Configurando python-pip-whl (20.0.2-5ubuntu1)…
Configurando python3-pip (20.0.2-5ubuntu1)…
Procesando activadores para man-db (2.9.1-1)…
[Alternativa] Instalar Conda (Anoconda / Miniconda) para pandas
Paso 2: instalar pandausando pip
Para instalar pandasdesde PyPI (pip), ejecute el siguiente comando:
pip3 install pandas
Tenga en cuenta que si ha instalado pandas usando el primer método, necesitará desinstalar pandas usando sudo apt remove python3-pandas, de lo contrario verá el resultado: «Requisito ya satisfecho: pandas en / usr / lib / python3 / dist-packages (0.25.3)» , lo que significa que no está obteniendo la última versión de pandas.
Verá la siguiente salida en su terminal. Como puede ver en la última línea, acabo de instalar pandas 1.1.0 en mi sistema operativo Ubuntu 20.04. Su número de versión puede ser mayor a medida que pandas lance nuevas versiones.
Recolectando pandas
Descargando pandas-1.1.0-cp38-cp38-manylinux1_x86_64.whl (10,3 MB)
Requisito ya satisfecho: python-dateutil> = 2.7.3 en / usr / lib / python3 / dist-packages (de pandas) (2.7.3)
Requisito ya satisfecho: pytz> = 2017.2 en / usr / lib / python3 / dist-packages (de pandas) (2019.3)
Requisito ya satisfecho: numpy> = 1.15.4 en / usr / lib / python3 / dist-packages (de pandas) (1.17.4)
Instalación de paquetes recopilados: pandas
Pandas-1.1.0 instalado con éxito
Método 3: instalar pandas con conda (Miniconda / Anaconda)
Existe otra distribución popular de paquetes de Python llamada Anaconda o Miniconda. También puedes usarlo para instalar pandas.
Anteriormente hemos escrito un tutorial para instalar Miniconda , puedes leerlo si prefieres conda o simplemente quieres aprender más. Tenga en cuenta que conda distribuye Python en sí, por lo que no usará el sistema Python y no necesitará tener instalado Python antes de instalar conda.
Para instalar pandas con conda, ejecute el siguiente comando. Cuando se le pregunte “¿Continuar ([y] / n)?”, Presione y e ingrese para continuar.
Ahora tienes pandas instalados en tu computadora con Ubuntu 20.04. ¿Cómo comprobar si los pandas están instalados correctamente? Ejecute python3y copie / pegue el siguiente código.
import pandas as pd
s = pd.Series([1, 6, 8, 10])
s
Debería poder ver algo similar a la siguiente captura de pantalla:
Aquí está el texto completo de la terminal:
(base) vh @ varhowto-com: ~ $ python3
Python 3.8.3 (predeterminado, 19 de mayo de 2020, 18:47:26)
[GCC 7.3.0] :: Anaconda, Inc. en Linux
Escriba "ayuda", "derechos de autor", "créditos" o "licencia" para obtener más información.
importar pandas como pd
s = pd.Series ([1, 6, 8, 10])
s
0 1
dieciséis
2 8
3 10
dtype: int64