« Restructurer un tableau de données dyadiques » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 32 : Ligne 32 :


<source lang="python">data = df1.drop(['Dyade','Sujet','Sexe','Condition'], axis = 1)</source>
<source lang="python">data = df1.drop(['Dyade','Sujet','Sexe','Condition'], axis = 1)</source>
<b>Put columns names in a list</b>
<b>Mettre les noms de colonnes dans une liste</b>


<source lang="python">variables = data.columns</source>
<source lang="python">variables = data.columns</source>

Version du 16 novembre 2018 à 13:52

Restructurer un tableau de données dyadiques
Terminé intermédiaire
2018/11/16


Ce script nécessite python3+ et la librairie pandas. Pour installer pandas à partir de pip : python -m pip install –upgrade pandas dans l'invite de commande/terminal

Structure individuelle :

Individual structure

Structure dyadique :

Dyadic structure

Code

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import pandas as pd

Spécifier le chemin d'accès de votre dossier

os.chdir('path')

Préciser le nom de votre fichier .csv

df1 = pd.read_csv('fichier.csv',sep=';')

Supprimer les colonnes pour lesquelles vous ne souhaitez pas restructurer les données

data = df1.drop(['Dyade','Sujet','Sexe','Condition'], axis = 1)

Mettre les noms de colonnes dans une liste

variables = data.columns

Créer un nouveau tableau de données

new_data = pd.DataFrame()

Pour chaque colonne, mettre les valeur paires dans p1 et impaires dans p2. Attribuer le même index à chaque colonne. Ajouter les colonnes renommées dans le nouveau tableau de données.

for i in variables:
    p1 = data[i].iloc[::2]
    p1.index = range(1,len(p1)+1)
    
    p2 = data[i].iloc[1::2]
    p2.index = range(1,len(p2)+1)

    v = i
    v1 = i + '_p1'
    v2 = i + '_p2'
    
    new_data[v1] = p1
    new_data[v2] = p2

Exporter le .csv restructuré

new_data.to_csv('out.csv',sep=';')