2 votes

Comment imprimer les étiquettes des lignes et des colonnes dans le fichier csv de sortie ?

J'ai un jeu de données de 1620 lignes et 7 colonnes. Je veux conserver toutes les valeurs de chaque 5ème ligne à partir de la 1ère ligne et supprimer les autres lignes, pour mon jeu de données complet. Je veux donc stocker les 1ère, 6ème, 11ème, 16ème...etc. lignes de l'ensemble des données dans mon fichier csv en utilisant python.

J'ai fait cela, et stocké la sortie dans un fichier csv, mais je n'obtiens pas les étiquettes de ligne et de colonne dans mon csv de sortie. Je veux obtenir les étiquettes des lignes et des colonnes dans mon csv de sortie.

Modification à ce sujet : Je veux que les étiquettes des lignes soient 1, 2, 3, 4, 5, etc. au lieu de 1, 6, 11, 16, 21.....

Ensemble de données :

Serial,A,B,C,D,E,F
1,3.8,-5.9,-1.7,-1.4,8.3,-3.1
2,-5.4,-71.3,83.4,50.7,-1.3,88.4
3,3.0,5.3,1.4,5.7,6.6,2.3
4,0.0,0.0,0.0,0.0,0.0,0.0
5,0.0,0.0,0.0,0.0,0.0,0.0
6,-1.4,2.8,3.5,-6.7,-2.3,1.4
7,88.2,-0.1,-10.7,-36.2,88.1,-1.7
8,3.7,7.0,1.1,2.2,5.9,3.6
9,0.0,0.0,0.0,0.0,0.0,0.0
10,0.0,0.0,0.0,0.0,0.0,0.0
11,3.0,-1.6,-1.7,-4.2,7.8,-9.7
12,-7.1,-48.8,85.7,46.0,-2.8,-80.8
13,2.2,8.5,1.3,9.3,6.1,7.0
14,0.0,0.0,0.0,0.0,0.0,0.0
15,0.0,0.0,0.0,0.0,0.0,0.0
16,3.7,-6.2,-5.1,-2.5,0.0,-1.1
17,0.0,-60.3,88.8,45.1,0.0,90.0
18,2.9,9.3,3.9,8.3,6.9,8.6
19,0.0,0.0,0.0,0.0,0.0,0.0
20,0.0,0.0,0.0,0.0,0.0,0.0
21,3.7,-3.1,-8.3,-1.1,8.7,-3.3

data

import pandas as pd
import numpy as np

#importing straintest dataset with pandas
dataset=pd.read_csv('ABC.csv')
dataset = dataset.set_index('Serial')

X =dataset.iloc[::5, :].values

np.savetxt('Output.csv', X, delimiter= ',')
print("::::\n",X)

Sortie réelle :

3.8,-5.9,-1.7,-1.4,8.3,-3.1
-1.4,2.8,3.5,-6.7,-2.3,1.4
3,-1.6,-1.7,-4.2,7.8,-9.7
3.7,-6.2,-5.1,-2.5,0,-1.1
3.7,-3.1,-8.3,-1.1,8.7,-3.3

act

Résultats attendus :

Serial,A,B,C,D,E,F
1,3.8,-5.9,-1.7,-1.4,8.3,-3.1
2,-1.4,2.8,3.5,-6.7,-2.3,1.4
3,3,-1.6,-1.7,-4.2,7.8,-9.7
4,3.7,-6.2,-5.1,-2.5,0,-1.1
5,3.7,-3.1,-8.3,-1.1,8.7,-3.3

expct

3voto

jezrael Points 290608

Si vous avez besoin des noms des colonnes, vous pouvez utiliser la méthode Pandas. DataFrame.to_csv :

#remove .values
X = dataset.iloc[::5]
X.to_csv('Output.csv')

Ou :

dataset=pd.read_csv('ABC.csv')
X = dataset.iloc[::5]
X.to_csv('Output.csv', index=False)

EDIT : Vous pouvez créer un index par défaut à partir de 0 si nécessaire, à partir de 1 ajouter rename :

X = dataset.iloc[::5].reset_index(drop=True).rename(index = lambda x: x + 1)
X.to_csv('Output.csv')

Ou :

dataset=pd.read_csv('ABC.csv')
X = dataset.iloc[::5].copy()
X['Serial'] = np.arange(1, len(X) + 1) 
X.to_csv('Output.csv', index=False)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X