Je utilise Python datatable (https://github.com/h2oai/datatable) pour lire un fichier csv qui contient uniquement des valeurs entières. Ensuite, je convertis le datatable en pandas Dataframe. Lors de la conversion, les colonnes qui contiennent uniquement des 0/1 sont considérées comme des booléens au lieu des entiers.
Voici le fichier csv suivant (small_csv_file_test.csv) :
a1,a2,a3,a4,a5,a6,a7,a8,a9,a10
1, 1, 1, 1, 1, 1, 1, 0, 1, 1
2, 2, 2, 2, 2, 2, 2, 1, 0, 1
3, 3, 3, 3, 3, 3, 3, 0, 0, 1
4, 4, 4, 4, 4, 4, 4, 1, 0, 0
5, 5, 5, 5, 5, 5, 5, 0, 0, 0
6, 6, 6, 6, 6, 6, 6, 0, 0, 0
7, 7, 7, 7, 7, 7, 7, 1, 1, 0
8, 8, 8, 8, 8, 8, 8, 1, 1, 1
9, 9, 9, 9, 9, 9, 9, 1, 1, 1
0, 0, 0, 0, 0, 0, 0, 1, 0, 1
Le code source :
import pandas as pd
import datatable as dt
test_csv_matrix = "small_csv_file_test.csv"
data = dt.fread(test_csv_matrix)
print(data.head(5))
matrix= data.to_pandas()
print(matrix.head())
Résultat :
| a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
-- + -- -- -- -- -- -- -- -- -- ---
0 | 1 1 1 1 1 1 1 0 1 1
1 | 2 2 2 2 2 2 2 1 0 1
2 | 3 3 3 3 3 3 3 0 0 1
3 | 4 4 4 4 4 4 4 1 0 0
4 | 5 5 5 5 5 5 5 0 0 0
[5 lignes x 10 colonnes]
a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
0 1 1 1 1