简体   繁体   English

Python - 返回 dataframe 并从 function 列出

[英]Python - return dataframe and list from function

I want to create a function in Python that returns both a list and a data frame.我想在 Python 中创建一个 function ,它返回一个列表和一个数据框。 I know how to do this with two seperate functions, but is there a way to return both from a single function?我知道如何使用两个单独的函数来做到这一点,但是有没有办法从单个 function 中返回两者?

import pandas as pd
# sample data
data_dict = {'unit':['a','b','c','d'],'salary':[100,200,250,300]}
# create data frame
df = pd.DataFrame(data_dict)
# Function that returns a dataframe
def test_func(df):
    # create list meeting some criteria
    mylist = list(df.loc[(df['salary']<=200),'unit'])
    # create new dataframe based on mylist
    new_df = df[df['unit'].isin(mylist)]
    return new_df
# create dataframe from function
new_df = test_func(df)

The above function returns just the data frame.上面的 function 只返回数据帧。 How do I also return mylist in the same function?如何在同一个 function 中返回 mylist?

You can simply return two variables in the function您可以简单地返回 function 中的两个变量

import pandas as pd
# sample data
data_dict = {'unit':['a','b','c','d'],'salary':[100,200,250,300]}
# create data frame
df = pd.DataFrame(data_dict)
# Function that returns a dataframe
def test_func(df):
    # create list meeting some criteria
    mylist = list(df.loc[(df['salary']<=200),'unit'])
    # create new dataframe based on mylist
    new_df = df[df['unit'].isin(mylist)]
    return new_df, my list

# create dataframe and list from function
new_df, mylist = test_func(df)

just place comma and add anything you want, but remember in function calling must give same return variables.只需放置逗号并添加您想要的任何内容,但请记住在 function 调用中必须给出相同的返回变量。

return new_df, my list

new_df, mylist = test_func(df)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM