需要一种Python方式来合并带有时间戳的数据

时间:2019-07-01 15:47:47

标签: python pandas dataframe

我有一个熊猫DataFrame,它可以测量化学浓度。每个观察都带有时间戳,并且分别记录。我想通过在每个时间戳记中包含一行所有化学测量值的方式来更好地组织这一过程。如果在此期间没有化学物质的测量值,我想在该位置粘贴占位符-999。

我确实有一些工作要做,但这只是一个巨大的循环,效率极低,而且使我感到肮脏。我浏览了文档,到目前为止没有任何帮助。 (请记住,在您对我的判断过多之前,我还很陌生!)

def f(string):
    if og_data.loc[(og_data.local_time == time)&...
    (og_data.parameter == string), 'value'].empty:
        return -999
    else:
        return(og_data.loc[(og_data.local_time == time)&...
        (og_data.parameter == string), 'value'].array[0])

for time in local_time:
    h2so4.append(f('h2so4'))
    naoh.append(f('naoh'))
    o2.append(f('o2'))
    pbno3.append(f('pbno3'))

new_data['time'] = local_time
new_data['h2so4'] = h2so4
new_data['naoh'] = naoh
new_data['o2'] = o2
new_data['pbno3'] = pbno3

我想要的是这样的

time chemical value
12:00  pbno3  1.5
12:00  h2so4  7
12:00  naoh  30
12:15  o2  25
12:15  pbno3  2
12:30  naoh  27

成为这个:

time  h2so4 naoh o2 pbno3
12:00  7     30  -999  1.5
12:15  -999  -999  25  2
12:30  -999  27  -999  -999

谢谢!

0 个答案:

没有答案