47  El encoding

Bienvenidos a esta sesión dedicada al encoding y su importancia al importar datos con Pandas. El encoding, o codificación de caracteres, es un proceso fundamental en el mundo digital que determina cómo se representan los caracteres de texto en formatos digitales. En esta sesión, exploraremos los diferentes tipos de encoding, con un enfoque especial en el popular UTF-8, y analizaremos por qué especificar correctamente el encoding al importar datos con Pandas es esencial para evitar errores y garantizar la integridad de los datos. Sin el encoding adecuado, podríamos enfrentarnos a problemas como caracteres no reconocidos o datos corruptos, especialmente al trabajar con idiomas que utilizan caracteres especiales. Aprenderemos cómo verificar el encoding de un archivo de datos y cómo Pandas nos permite especificar el encoding mediante el argumento ‘encoding’ en funciones como ‘read_csv’. Además, exploraremos una herramienta útil en Windows para identificar y cambiar el encoding de un archivo: Notepad++.

import pandas as pd
f = "../data/Cuernavaca_1dia_comas_Encoding.txt"
cuerna = pd.read_csv(f)
cuerna
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8e in position 25: invalid start byte
f = "../data/Cuernavaca_1dia_comas_Encoding.txt"
cuerna = pd.read_csv(f,encoding="Shift-JIS")
cuerna
tiempo To Ws Wd P Ig Ib ?字/漢字
0 2012-01-01 00:00:00 19.3 0.0 26 87415 0 0 0
1 2012-01-01 01:00:00 18.6 0.0 26 87602 0 0 0
2 2012-01-01 02:00:00 17.9 0.0 30 87788 0 0 0
3 2012-01-01 03:00:00 17.3 0.0 30 87554 0 0 0
4 2012-01-01 04:00:00 16.6 0.0 27 87321 0 0 0
5 2012-01-01 05:00:00 15.9 0.0 26 87087 0 0 0
6 2012-01-01 06:00:00 17.0 0.0 27 87096 0 0 0
7 2012-01-01 07:00:00 18.0 0.0 34 87140 20 151 11
8 2012-01-01 08:00:00 19.0 0.0 61 87185 164 522 37
9 2012-01-01 09:00:00 20.0 0.0 95 87229 369 812 58
10 2012-01-01 10:00:00 20.0 1.0 108 87229 568 931 68
11 2012-01-01 11:00:00 20.0 2.1 160 87229 717 981 75
12 2012-01-01 12:00:00 21.0 1.8 135 87273 800 999 79
13 2012-01-01 13:00:00 22.0 1.5 160 87316 810 998 80
14 2012-01-01 14:00:00 21.7 1.3 164 87302 747 977 79
15 2012-01-01 15:00:00 21.3 1.2 176 87287 617 932 74
16 2012-01-01 16:00:00 21.0 1.0 140 87273 433 846 65
17 2012-01-01 17:00:00 19.0 0.0 198 87185 219 650 46
18 2012-01-01 18:00:00 17.1 0.0 221 87104 0 0 0
19 2012-01-01 19:00:00 17.0 0.0 269 87101 0 0 0
20 2012-01-01 20:00:00 17.3 0.0 50 87115 0 0 0
21 2012-01-01 21:00:00 17.0 0.2 85 87080 0 0 0
22 2012-01-01 22:00:00 16.6 0.5 89 87089 0 0 0
23 2012-01-01 23:00:00 15.9 0.8 93 87143 0 0 0
f = "../data/Cuernavaca_1dia_comas_Encoding_UTF8.txt"
cuerna = pd.read_csv(f)
cuerna
tiempo To Ws Wd P Ig Ib 汉字/漢字
0 2012-01-01 00:00:00 19.3 0.0 26 87415 0 0 0
1 2012-01-01 01:00:00 18.6 0.0 26 87602 0 0 0
2 2012-01-01 02:00:00 17.9 0.0 30 87788 0 0 0
3 2012-01-01 03:00:00 17.3 0.0 30 87554 0 0 0
4 2012-01-01 04:00:00 16.6 0.0 27 87321 0 0 0
5 2012-01-01 05:00:00 15.9 0.0 26 87087 0 0 0
6 2012-01-01 06:00:00 17.0 0.0 27 87096 0 0 0
7 2012-01-01 07:00:00 18.0 0.0 34 87140 20 151 11
8 2012-01-01 08:00:00 19.0 0.0 61 87185 164 522 37
9 2012-01-01 09:00:00 20.0 0.0 95 87229 369 812 58
10 2012-01-01 10:00:00 20.0 1.0 108 87229 568 931 68
11 2012-01-01 11:00:00 20.0 2.1 160 87229 717 981 75
12 2012-01-01 12:00:00 21.0 1.8 135 87273 800 999 79
13 2012-01-01 13:00:00 22.0 1.5 160 87316 810 998 80
14 2012-01-01 14:00:00 21.7 1.3 164 87302 747 977 79
15 2012-01-01 15:00:00 21.3 1.2 176 87287 617 932 74
16 2012-01-01 16:00:00 21.0 1.0 140 87273 433 846 65
17 2012-01-01 17:00:00 19.0 0.0 198 87185 219 650 46
18 2012-01-01 18:00:00 17.1 0.0 221 87104 0 0 0
19 2012-01-01 19:00:00 17.0 0.0 269 87101 0 0 0
20 2012-01-01 20:00:00 17.3 0.0 50 87115 0 0 0
21 2012-01-01 21:00:00 17.0 0.2 85 87080 0 0 0
22 2012-01-01 22:00:00 16.6 0.5 89 87089 0 0 0
23 2012-01-01 23:00:00 15.9 0.8 93 87143 0 0 0