Если я понимаю, что вы ищете и как выглядит ваш текущий фрейм данных, я полагаю, вы можете разбить ваш фрейм данных по датам и использовать update
Я не думаю, что это будет наиболее эффективным решением, поскольку вы выполняете итерациюlen of dfs.
при условии, что этот df, который я также предполагаю, не является мультииндексом, поскольку вы не указали, что он был:
0 1
0 2017/11/14(Tue) NaN
1 23:20 Aditya Laksana S. hahaha
2 23:20 Aditya Laksana S. [Sticker]
3 23:20 Veronika Xaveria [Sticker]
4 2017/12/14(Thu) NaN
5 24:12:00 Veronika Xaveria xxxxxxxx
6 24:14:00 Aditya Laksana S. weeee
7 24:15:00 Aditya Laksana S. [Sticker]
Тогда:
# find the index of the dates assuming that they follow the below format
idx = list(df[df[0].str.contains('Mon|Tue|Wed|Thu|Fri|Sat|Sun')].index)
# find all the values in idx
values = list(df.iloc[idx, 0].values)
# split your dataframe on idx
# this assumes that the first row contains a date
dfs = np.split(df,idx[1:])
# update your df using list comprehension
df[0].update(pd.concat([values[i] +' '+ dfs[i][0] for i in range(len(dfs))]))
# drop nulls
df.dropna()
0 1
1 2017/11/14(Tue) 23:20 Aditya Laksana S. hahaha
2 2017/11/14(Tue) 23:20 Aditya Laksana S. [Sticker]
3 2017/11/14(Tue) 23:20 Veronika Xaveria [Sticker]
5 2017/12/14(Thu) 24:12:00 Veronika Xaveria xxxxxxxx
6 2017/12/14(Thu) 24:14:00 Aditya Laksana S. weeee
7 2017/12/14(Thu) 24:15:00 Aditya Laksana S. [Sticker]