-
红糖糍粑
df_top = tree_df[['userID_start', 'tweetID_start', 'time_start']]df_top.columns = ['userID', 'tweetID', 'time']df_bottom = tree_df[['userID_end', 'tweetID_end', 'time_end']]df_bottom.columns = ['userID', 'tweetID', 'time']final_df = pd.concat([df_top, df_bottom])这行得通。
-
有只小跳蛙
看来您需要pd.wide_to_long:df.columns=df.columns.str.split('_').map(lambda x : '_'.join(x[::-1]))s=pd.wide_to_long(df.reset_index(),['end','start'],i='index',j='drop',sep='_',suffix='\w+').stack().unstack(-2)
-
翻翻过去那场雪
start_cols = [c for c in df.columns if c.endswith('_start')]end_cols = [c for c in df.columns if c.endswith('_end')]def rename(x): return x.split('_')[0]output_df = pd.concat([ df[start_cols].rename(columns=rename), df[end_cols].rename(columns=rename)])您可以将两个数据帧中的开始列和结束列子集并将它们 pd.concat 组合在一起以堆叠。