pandas 使用groupby的apply lambda函数的输出是object,希望转换为dataframe

ac1kyiln  于 2023-05-05  发布在  其他
关注(0)|答案(1)|浏览(108)

我有一个dataframe,我应用lambda函数与groupby,lambda函数生成两个值作为输出,输出是对象数据类型。
我尝试了output.to_frame().reset_index()和pd.DataFrame(output),但都没有真正起作用。
output.to_frame().reset_index()将第二个列名设置为0,但我无法使用output.0显示第二个列。在output.to_frame()之后,reset_index()看起来像这样:

用groupby将lambda函数的对象输出转换成这样的 Dataframe 的最佳方法是什么?

pgvzfuti

pgvzfuti1#

最好是提前(在使用groupby* 之前/使用groupby* 时),但您仍然可以尝试以下操作:

out = df.join(pd.DataFrame(df.pop("0").tolist(), columns=["score", "value"]))

输出:

print(out)

  id  score  value
0  a      1      2
1  b      4      5
2  c      6      7

相关问题