我想提高此操作的工作速度
df = pd.DataFrame(columns = ['eventId','total'])
for event in df_events:
df1 = data[data['eventId'] == event]
df = pd.concat([df,df1])
df_events是一个包含看起来像这样的元素的对象'2015-11-23#54#'这是我想要的目的,但我想知道是否有更快的方法不使用for循环这样做。
答案 0 :(得分:3)
试试这个:
df = data[data["eventId"].isin(df_events)]
答案 1 :(得分:2)
没有循环的单行可以做你想做的事情:
constexpr
这确实比你当前的解决方案明显更快(我尝试使用非常非常小的df = data[data["eventId"].apply(lambda x: x in df_events)]
):
data