python - 应用函数并返回多个数据帧后重命名系列列名称

标签 python function pandas return-value rename

我有一个返回多个系列的函数,并且想要重命名系列名称。

 def myfunction(MyDataFrame, UniqueID, Var1, Var2):
     RunningSumA = MyDataFrame.groupby([UniqueID])[Var1].cumsum().reset_index()
     RunningSumB = MyDataFrame.groupby([UniqueID])[Var2].cumsum().reset_index()

     return pd.Series([RunningSumA, RunningSumB])


 Result = myfunction(MyDataFrame, UniqueID, Var1, Var2)

当我查看结果系列的前几行时,结果如下:

Result[0].head()

  index    0
0  216646  0
1  216647  0
2  216648  0
3  216649  0
4  216650  0

我想将 index0 重命名为函数内有意义的名称。我尝试过重命名列,但无法重命名它们。我怎样才能做到这一点?

最佳答案

reset_index接受一个名称参数来填充列名称:

...
RunningSumA = MyDataFrame.groupby([UniqueID])[Var1].cumsum().reset_index(name="suma")
RunningSumB = MyDataFrame.groupby([UniqueID])[Var2].cumsum().reset_index(name="sumb")
...

关于python - 应用函数并返回多个数据帧后重命名系列列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33702743/

相关文章:

python - 将 pandas 列值附加为新列

python - 如何在没有 Pandas 的情况下使用 Python 从 CSV 文件中获取 10 个最高值

python - 如何在服务器端发出 Socket IO 事件

C多路复用器函数

r - 将函数分配给R中的变量

function - 类型和功能

python-3.x - Pandas 将具有相同值和相同索引的行与多个空值合并

python - 如何在 tkinter 中显式调整帧大小?

python - 为什么 Python 的列表没有 shift/unshift 方法?

Python:如何恢复数据框中的值?