J'ai beaucoup de jeux de données dans les fichiers CSV, ils ressemblent à l'image que j'ai joint.combiner les fichiers CSV, les trier par le temps et la moyenne des colonnes
Dans la première colonne est toujours l'heure en minutes, mais les pas de temps et le nombre total de lignes diffèrent entre les fichiers de données brutes. Je voudrais avoir un fichier de sortie (fichier csv) dans lequel tous les fichiers bruts sont combinés et triés par le temps. Alors que le temps augmente du haut vers le bas de la colonne.
La colonne de concentration devrait être en moyenne, lorsque plus d'un numéro existe.
J'ai essayé comme ceci:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
d1 = pd.read_csv('dat1.txt', sep="\t")
d2 = pd.read_csv('dat2.txt', sep="\t")
d1.columns
d2.columns
merged_outer = pd.merge(d1,d2, on='time', how='outer')
print merged_outer
mais il ne conduit pas à la sortie correcte. Je suis débutant en Pandas mais j'espère avoir bien expliqué le problème. Merci pour toute idée ou suggestion!
Nous vous remercions de votre idée. Malheureusement, quand je l'exécute, je reçois un message d'erreur disant que dat1.txt n'existe pas. Cela me semble étrange que je lis les fichiers bruts: initialement
d1 = pd.read_csv('dat1.txt', sep="\t")
d2 = pd.read_csv('dat2.txt', sep="\t")
Désolé, ici les données sous forme de texte brut:
raw data 1
time column2 column3 concentration
1 2 4 3
2 2 4 6
4 2 4 2
7 2 4 5
raw data 2
time column2 column3 concentration
1 2 4 6
2 2 4 2
8 2 4 9
10 2 4 5
12 2 4 7
la prochaine fois que vous posez une question, collez des extraits du texte brut du fichier 'csv', au lieu de captures d'écran, puis d'autres personnes pourront tester plus facilement leur code –