如何合并多个数据帧并按时间戳排序

2024-06-30 13:58:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我打开所有的数据文件,把它们转换成数据帧,然后列出它们。 每个数据帧具有相同的结构

代码如下:

path = r'/home/afdg/Documents/Partage_Ubuntu/XML/Results'
all_csv_files = glob.glob(path + "/*.csv")

list_df = []

for filename in all_csv_files :
  df = pd.read_csv(filename, usecols=['duration', 'begin', 'end', 'time' ])
  df_DisponibilityAlarm = df.copy()
  df_DisponibilityAlarm = df_DisponibilityAlarm.drop(['duration','time'], 1)
  list_df.append(df_DisponibilityAlarm)

我想把所有的数据帧合并成一个,并按时间戳排序。我试过了,但没用。我不知道如何将我的数据帧列表与排序连接起来:

df_DisponibilityAlarm = (df_DisponibilityAlarm.stack()
  .rename_axis([None, 'Flag'])
  .reset_index(level=1, name='Timestamp'))

df_DisponibilityAlarm = df_DisponibilityAlarm.sort_values(by=['Timestamp'])

使用concat list时,我的行数比原始文件多: 文件的形状:

(358, 2)                                                                                             
(1690, 2)                                                                                            
(508, 2)                                                                                             
(3872, 2)                                                                                            
(13129, 2)                                                                                           
(2, 2)                                                                                               
(46, 2)                                                                                              
(92, 2)   

结果:(19697,2) 及之后: (19708,2)

11行以上

你能帮我吗


Tags: 文件csv数据pathdftime排序files