有没有办法提高将两个值组合为字符串的速度?

Is there a way to improve the speed of combining two values as strings?

我目前正在处理一个非常大的数据集(>7000 万行,10 多列),它涉及间隙填充、前向填充、重建索引等。但是花费最多时间的步骤(超过 50% 运行 time) 是用组合为字符串的两列的值替换列变量的简单代码。示例代码为:

df["id_date"] = df['id'].astype(str) +"_"+ df["date"].astype(str)

有没有办法提高这一步的速度?我很惊讶这比想象的更复杂的步骤花费了这么长的时间。

看看Series.str.cat:

df['id_date'] = df['id'].str.cat(df["date"], sep='_')

也就是说,与任何冗余信息一样,您最好不要拥有此列,或者至少只按需创建数据而不是预先创建数据。