【问题标题】:How merge multiple dataframe and sort them by timestamp - Pandas Python如何合并多个数据框并按时间戳对它们进行排序 - Pandas Python
【发布时间】:2020-03-16 15:21:43
【问题描述】:

我打开所有数据文件,将它们转换为数据框并列出它们。 每个数据帧都具有相同的结构。

这里是代码:

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 行更多

你能帮帮我吗?

【问题讨论】:

    标签: python pandas dataframe timestamp


    【解决方案1】:

    您应该连接数据框列表:

    df_all = pd.concat(list_df)
    

    【讨论】:

    • 我更新了有关 concat 操作的更多信息。
    • @Serge_Ballesta 我在使用 concat 和 stack 时遇到了形状问题,你知道为什么吗?
    • 如果您可以 1/ 准备 2 或 3 个文件,而行数很少 2/ 控制 concat 提供的行数比预期的多,并且 3/ 在此处共享此数据,那么我可能会提供帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-16
    • 1970-01-01
    • 2022-10-04
    • 2023-03-12
    • 2022-11-27
    • 2020-08-09
    • 2015-09-17
    相关资源
    最近更新 更多