Python 返回数据帧的函数

Python 返回数据帧的函数,python,pandas,dataframe,pandas-groupby,Python,Pandas,Dataframe,Pandas Groupby,我不清楚我的问题,所以我正在重新考虑这个问题。我有一个操作通用数据框的函数(它删除并重命名列和记录): 此操作函数在我的代码主体中调用: df = pd.DataFrame(np.random.randint(0,10,size=(100, 3)), columns=list('ABC')) manipulate_df(df) print("this is what I got:") print(df.head(5)) 在执行前面的块时,这是我得到的输出: this is what I nee

我不清楚我的问题,所以我正在重新考虑这个问题。我有一个操作通用数据框的函数(它删除并重命名列和记录):

此操作函数在我的代码主体中调用:

df = pd.DataFrame(np.random.randint(0,10,size=(100, 3)), columns=list('ABC'))
manipulate_df(df)
print("this is what I got:")
print(df.head(5))
在执行前面的块时,这是我得到的输出:

this is what I need:
   grouping_column   C
0                0  72
1                1  29
this is what I got:
   grouping_column  C
0                0  5
1                0  5
2                0  4
3                1  9
6                0  5
虽然保留了删除和筛选,但不保留分组。 如何实现操纵功能以实际分组数据帧


再次感谢您,并为我之前令人困惑的帖子道歉。

除了不可读的代码外,您永远不会返回更改

看看这个例子:

a = 'foo'

def my_func(a):
    a = 'bar'

my_func(a)
print(a)
#foo
a = my_func(a)
#None
为了避免所有的范围讨论,您需要从函数中返回一些内容或编辑全局变量:

a = 'foo'

def my_func():
    global a
    a = 'bar'
myfunc()
print(a)
#bar
或 a='foo'

def my_func(a):
    a = 'bar'
    return a
a = myfunc(a)
print(a)
#bar

Ciao Giuseppe,你介意分享一点你的数据帧并正确地编写你的函数吗?不清楚它会返回什么。再见,我刚做完。感谢您的建议ciao,您只需将
返回df_local
添加到
操纵df
,然后
df_out=操纵df(df)
正确,这正是zipa所说的。。。我需要进一步研究变量范围。。。。谢谢。ciaoI明白你在说什么,并为不可读的代码命名。。。我已将代码更改为
返回df.groupby(['AreaName','AreaCode','CommName','ComCode','Year'])['Value'].sum()。将代码更改为_frame().reset_index()
,但重复项未被删除。我已更改了原始问题,以便您可以轻松复制我的问题。再次感谢……我终于明白了你的意思。谢谢,你帮了我。这真的帮了我的忙!我在python中使用的第一个函数,将在我的重复中做更多的工作
def my_func(a):
    a = 'bar'
    return a
a = myfunc(a)
print(a)
#bar