PDF de programación - Ejemplos básicos de manipulación de datos en Mathematica

Imágen de pdf Ejemplos básicos de manipulación de datos en Mathematica

Ejemplos básicos de manipulación de datos en Mathematicagráfica de visualizaciones

Publicado el 23 de Septiembre del 2018
1.379 visualizaciones desde el 23 de Septiembre del 2018
394,1 KB
12 paginas
Creado hace 10a (03/06/2013)
Ejemplos básicos de manipulación
de datos en Mathematica

Importando un archivo de Excel

Primero un ejemplo muy sencillo, leyendo datos de una hoja de cálculo. La
siguiente imagen muestra el contenido del archivo fisicamate.xlsx que tengo
en mi computadora:

2 201305072238respuestas.nb

El siguiente comando de Mathematica muestra los documentos de Excel en
la carpeta “Mis documentos” de mi computadora:

FileNames@"∗.xlsx"D

8ejemplo.xlsx, fisicamate.xlsx<

El siguiente comando carga en esta sesión de Mathematica el contenido del
documento fisicamate.xlsx, y ese contenido queda guardado en la variable
que yo le llamé “libro”

libro = Import@"fisicamate.xlsx"D;

El siguiente comando muestra el séptimo renglón de la primera hoja del libro
de Excel que fue importado:

Part@libro, 1, 7D

8CD1000, 1., 30., 14 721., Estadística administrativa I,

Manuel González S, M V , 7:00 a 8:30, A4 207, <

El siguiente comando muestra el quinto campo del séptimo renglón de la
primera hoja del libro de Excel que fue importado:

Part@libro, 1, 7, 5D

Estadística administrativa I

Continúa en la siguiente página

201305072238respuestas.nb

3

Se cuenta cuantas veces se repite cada valor del quinto campo, en este
ejemplo eso corresponde a cuantos grupos hay de cada materia:

agrupadas =

Tally@Part@libro, 1, 7 ;; AllD, Function@8r1, r2<, Part@r1, 5D == Part@r2, 5DDD;

contadas = Table@8Part@agrupadas, n, 1, 5D, Part@agrupadas, n, 2D<,

8n, Length@agrupadasD<D

88 Estadística administrativa I, 3<, 8 Estadística administrativa II, 3<,

8 Estadística multivariante, 2<, 8 Estadística ciencias comportam, 1<,
8 Introducción a la física, 2<, 8 Física I, 8<, 8 Física II, 6<,
8 Electricidad y magnetismo, 5<, 8 Métodos numéricos en ing, 4<,
8 Introducción a las matemáticas, 3<, 8 Probabilidad y estadística, 4<,
8 Matemáticas, 2<, 8 Estadística investig cienc soc, 3<,
8 Matemáticas para el diseño, 1<, 8 Matemáticas para el diseño I, 2<,
8 Matemáticas I, 11<, 8 Matemáticas II, 13<,
8 Ecuaciones diferenciales, 6<, 8 Matemáticas para ing III, 3<,
8 Estadística II, 1<, 8 Matemáticas para el diseño II, 1<,
8 Sistemas aleatorios, 1<, 8 Matemáticas para economía II, 1<,
8 Matemáticas avanzadas, 2<, 8 Matemáticas discretas, 2<<

Continúa en la siguiente página

4 201305072238respuestas.nb

La misma información, mostrada en forma tabular

Grid@contadas, Dividers → AllD

Estadística administrativa I

Estadística administrativa II

Estadística multivariante

3

3

2

Estadística ciencias comportam 1

Introducción a la física

Física I

Física II

Electricidad y magnetismo

Métodos numéricos en ing

2

8

6

5

4

Introducción a las matemáticas 3

Probabilidad y estadística

Matemáticas

4

2

Estadística investig cienc soc 3

Matemáticas para el diseño

Matemáticas para el diseño I

Matemáticas I

Matemáticas II

Ecuaciones diferenciales

Matemáticas para ing III

Estadística II

Matemáticas para el diseño II

Sistemas aleatorios

Matemáticas para economía II

Matemáticas avanzadas

Matemáticas discretas

1

2

11

13

6

3

1

1

1

1

2

2

Continúa en la siguiente página

201305072238respuestas.nb

5

La misma información, mostrada en forma gráfica

BarChart@Part@contadas, All, 2D, ChartLabels −> Part@contadas, All, 1D,

BarOrigin → Left, ChartStyle → "Pastel"D

La misma información gráfica, ordenada de menor a mayor

ordenadas = SortBy@contadas, Function@renglon, Part@renglon, 2DDD;
BarChart@Part@ordenadas, All, 2D,

ChartLabels −> Part@ordenadas, All, 1D, BarOrigin → Left, ChartStyle → "Pastel"D

6 201305072238respuestas.nb

El siguiente comando selecciona, de todos los renglones de la primera hoja,
sólo aquellos cuyo quinto campo incluye la palabra “para”

seleccionados = Select@Part@libro, 1D,

Function@renglon, StringMatchQ@Part@renglon, 5D, ___ ∼∼ "para" ∼∼ ___DDD

88MA1009, 2., 31., 15 246., Matemáticas para el diseño,

Marco Antonio Reyes G, M V , 11:30 a 13:00, A6 308, <,

8MA1011, 1., 21., 15 248., Matemáticas para el diseño I,
José Luis Gómez M, L M , 13:00 a 14:30, A4 310, <,
8MA1011, 2., 22., 15 249., Matemáticas para el diseño I,
José Luis Gómez M, M V , 14:30 a 16:00, A4 308, <,

8MA2002, 1., 35., 15 280., Matemáticas para ing III,

Carlos Daniel Prado P, M V , 10:00 a 11:30, A5 303, <,

8MA2002, 4., 23., 15 283., Matemáticas para ing III,

Ma. de Lourdes Quezada B, L M , 7:00 a 8:30, A4 201, <,

8MA2002, 5., 23., 15 284., Matemáticas para ing III,

Ma. de Lourdes Quezada B, L M , 8:30 a 10:00, A5 208, <,

8MA2005, 1., 21., 15 286., Matemáticas para el diseño II,
Arturo Preciado R, M V , 11:30 a 13:00, A5 104, <,

8MA3001, 1., 8., 15 288., Matemáticas para economía II,

Juan Carlos del Valle S, M V , 8:30 a 10:00, A4 111, <<

Continúa en la siguiente página

201305072238respuestas.nb

7

El siguiente comando de Mathematica produce una representación gráfica
de las conexiones entre profesores y materias, para los renglones que
fueron seleccionados en el comando anterior.

TreePlot@Table@Rule@Part@seleccionados, k, 5D, Part@seleccionados, k, 6DD,

8k, Length@seleccionadosD<D, Left, VertexLabeling → TrueD

Matemáticas para ing III

Ma. de Lourdes Quezada B

Carlos Daniel Prado P

Matemáticas para el diseño I

José Luis Gómez M

Matemáticas para el diseño II

Arturo Preciado R

Matemáticas para economía II

Juan Carlos del Valle S

Matemáticas para el diseño

Marco Antonio Reyes G

Continúa en la siguiente página

8 201305072238respuestas.nb

Para los mismos renglones que fueron seleccionados, ahora se muestran
las conexiones entre horarios y claves de materia

TreePlot@Table@Rule@Part@seleccionados, k, 1D, Part@seleccionados, k, 8DD,

8k, Length@seleccionadosD<D, Left, VertexLabeling → TrueD

8:30 a 10:00

MA3001

14:30 a 16:00

MA1011

MA2002

7:00 a 8:30

13:00 a 14:30

10:00 a 11:30

MA2005

MA1009

11:30 a 13:00

Exportamos a un nuevo archivo de Excel los renglones que fueron
seleccionados más arriba

Export@"selecion.xlsx", seleccionadosD

selecion.xlsx

Conectividad a bases de datos en servidor SQL

Los comandos anteriores trabajaron sobre datos que se importaron de una
hoja de cálculo. Mathematica puede importar datos de diversos tipos de
bases de datos. Por otro lado, los datos podrían estar en un servidor SQL.
Mathematica tiene comandos que le permiten conectarse al servidor SQL,
leer registros de la base de datos para hacer cálculos con ellos, como se
muestra en la siguiente liga:
http://reference.wolfram.com/mathematica/DatabaseLink/tutorial/DatabaseConnections.html
Cuando una base de datos SQL ha sido leída en Mathematica, se pueden

201305072238respuestas.nb

9

hacer cálculos y operaciones sobre los registros exactamente de la misma
forma como se hacen operaciones sobre los renglones de una hoja de
cálculo importada.

Importando un archivo de texto

La siguiente imagen muestra el contenido del archivo mate.txt que tengo en
mi computadora:

El siguiente comando de Mathematica muestra los documentos de texto en
la carpeta “Mis documentos” de mi computadora:

FileNames@"∗.txt"D

8mate.txt<

El siguiente comando carga en esta sesión de Mathematica el contenido del
documento fisicamate.xlsx, y ese contenido queda guardado en la variable
que yo le llamé “texto”

texto = ReadList@"mate.txt", String, RecordLists −> TrueD

88CD1000 Estadística administrativa I

Manuel González 07:00 a 08:30 A4207<,

8CD2005 Estadística ciencias comportam Faustino Yescas 11:30 a 13:00 A4202 <,
8CD2001 Estadística multivariante
8CD1002 Estadística administrativa II

10:00 a 11:30 A6310<,
08:30 a 10:00 A6310<<

Tito Roque V.

Tito Roque V.

El siguiente comando muestra el tercer renglón del documento de texto

Part@texto, 3D

8CD2001 Estadística multivariante

Tito Roque V.

10:00 a 11:30 A6310<

Sin embargo en este momento tenemos el siguiente problema: el

10 201305072238respuestas.nb

documento de texto es “plano” y no podemos, por el momento, obtener el
segundo campo del tercer renglón como se hizo antes con el archivo de
Excel. Mathematica responde con un mensaje de error:

Part@texto, 3, 2D

Part::partw : Part 2 of 9CD2001 Estadística multivariante

Tito Roque V. 10:00 a 11:30 A6310= does not exist. à

88CD1000 Estadística administrativa I

Manuel González 07:00 a 08:30 A4207<,

8CD2005 Estadística ciencias

comportam Faustino Yescas 11:30 a 13:00 A4202 <,

8CD2001 Estadística multivariante
8CD1002 Estadística administrativa

Tito Roque V.

10:00 a 11:30 A6310<,

II

Tito Roque V.

08:30 a 10:00 A6310<<P3, 2T

En este ejemplo la solución es muy sencilla, porque cada campo cierta
cantidad de letras, entonces puedo generar una lista con la misma
estructura que si hubiera sido importada desde un archivo de Excel. Esa
lista es guardada en la variable “campos”:

campos = Table@

StringTake@Part@texto, j, 1D, 881, 6<, 87, 38<, 839, 54<, 855, 68<, 869, 73<<D,
8j, Length@textoD<D

88CD1000, Estadística administrativa I

,

Manuel González , 07:00 a 08:30 , A4207<, 8CD2005,

Estadística ciencias comportam , Faustino Yescas , 11:30 a 13:00 , A4202<,

8CD2001, Estadística multivariante

, Tito Roque V.

,

10:00 a 11:30 , A6310<, 8CD1002, Estadística administrativa II
Tito Roque V.

, 08:30 a 10:00 , A6310<<

,

Ahora sí, podemos obtener el segundo campo del tercer renglón con la
mismos comandos que se hizo más arriba para el ejemplo que fue
importado de Excel

Part@campos, 3, 2D

Estadística multivariante

201305072238respuestas.nb

11

El siguiente comando selecciona, de todos los renglones del texto, sólo
aquellos cuyo segundo campo incluye la palabra “administrativa”

selec = Select@campos, Function@renglon,

StringMatchQ@Part@renglon, 2D, ___ ∼∼ "administrativa" ∼∼ ___DDD

88CD1000, Estadística administrativa I

,

Manuel González , 07:00 a 08:30 , A4207<, 8CD1002,

Estadística administrativa II

, Tito Roque V.

, 08:30 a 10:00 , A6310<<

Los renglones que fueron seleccionados se muestran en una “
  • Links de descarga
http://lwp-l.com/pdf13580

Comentarios de: Ejemplos básicos de manipulación de datos en Mathematica (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad