是否可以从函数中返回字典或序列以及数据框?

时间:2018-08-22 16:56:33

标签: python python-3.x pandas numpy dataframe

我有一个获取数据并进行计算并将其附加到数据框的函数。最后,我制作了一个字典,该字典从几列中返回平均值/最大值/分钟等。本质上,它将是最终数据帧的摘要。我想让函数返回摘要以及数据框,这样我就可以在不同的后续函数中使用它们。

这可行吗?

2 个答案:

答案 0 :(得分:1)

您是正确的,您可以。在python中,您可以从任何函数返回一个元组。从本质上讲,您将能够返回多个变量,即使这些变量属于不同的“类型” 这是我认为与您的问题有关的示例:

def example_function(a, b):
   a += 1
   b += " bar"
   c = "baz"
   return a, b, c

var1, var2, var3 = example_function(0, "foo")

现在,您可以随意使用var1,var2和var3。您还可以返回字典,列表,元组等

答案 1 :(得分:0)

这是一个采用DataFrame,对其进行操作并返回新DataFrame和摘要的函数的示例。您也可以返回系列,接受字典等,但是脚手架在那里。

import numpy as np
import pandas as pd

df = pd.DataFrame(np.arange(5), index=list('abcde'))
print(df)
   0
a  0
b  1
c  2
d  3
e  4


def transform_and_summarize(df):
        df = pd.concat([df,df+1])
        return df, df.describe()

new_df, stats = transform_and_summarize(df)

print(new_df)
   0
a  0
b  1
c  2
d  3
e  4
a  1
b  2
c  3
d  4
e  5

print(stats)
               0
count  10.000000
mean    2.500000
std     1.581139
min     0.000000
25%     1.250000
50%     2.500000
75%     3.750000
max     5.000000