Pandas 组合csv文件,按时间对其排序,并平均列数

Pandas 组合csv文件,按时间对其排序,并平均列数,pandas,merge,average,Pandas,Merge,Average,我有许多csv文件中的数据集,它们看起来像我所附的图片 第一列中的时间始终以分钟为单位,但原始数据文件之间的时间步长和总行数不同。我希望有一个输出文件(csv文件),其中所有原始文件按时间进行组合和排序。因此,时间从柱的顶部增加到底部 当存在多个数值时,应平均浓度列 我试着这样做: import numpy as np import pandas as pd import matplotlib.pyplot as plt d1 = pd.read_csv('dat1.txt', sep="\

我有许多csv文件中的数据集,它们看起来像我所附的图片

第一列中的时间始终以分钟为单位,但原始数据文件之间的时间步长和总行数不同。我希望有一个输出文件(csv文件),其中所有原始文件按时间进行组合和排序。因此,时间从柱的顶部增加到底部

当存在多个数值时,应平均浓度列

我试着这样做:

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
但这并不能产生正确的输出。我是熊猫的初学者,但我希望我能很好地解释这个问题。谢谢你的任何想法或建议


谢谢你的想法。不幸的是,当我运行它时,我收到一条错误消息说dat1.txt不存在。当我最初通过以下方式读取原始文件时,我觉得这很奇怪:

d1 = pd.read_csv('dat1.txt', sep="\t")
d2 = pd.read_csv('dat2.txt', sep="\t")
对不起,这里的数据为原始文本:

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

像这样的东西可能有用

filenames = ['dat1.txt', 'dat2.txt',...]
dataframes = {filename: pd.read_csv(filename, sep="\t") for filename in filenames}

merged_outer = pd.concat(dataframes).groupby('time').mean()

当您将dict传递给
pd.concat
时,它会创建一个多索引数据框,dict键为level0

,下次您提问时,粘贴
csv
文件原始文本的例外部分,而不是屏幕截图,这样其他人就可以更轻松地测试他们的代码