给定以下数据帧:
import pandas as pd
k=pd.DataFrame({'A':[1,1],'B':[3,4]})
e=pd.DataFrame({'A':[1,1],'B':[6,7]})
k
A B
0 1 3
1 1 4
e
A B
0 1 6
1 1 7
我想在循环中应用group by sum,但这样做似乎不会修改数据帧。你知道吗
以下是我尝试过的:
for d in dfsout:
d=d.groupby(d.columns[0]).apply(sum)
print(d)
当我在循环中打印d时,它显示正确的操作正在发生。。。你知道吗
A B
A
1 2 7
A B
A
1 2 13
…但是当我打印数据帧k和e时,它们没有被修改。你知道吗
k
A B
0 1 3
1 1 4
e
A B
0 1 6
1 1 7
更新
我还尝试将其用作函数(在循环中工作,仍然不修改):
def moddf(d):
return d.groupby(d.columns[0]).apply(sum)
for d in dfsout:
d=moddf(d)
print(d)
提前谢谢!你知道吗
好的,你可以试试这个
这起作用了:
首先,定义函数
接下来,重新分配修改后的数据帧,如下所示:
或者
相关问题 更多 >
编程相关推荐