递归添加值时,Pandas df返回为None

时间:2018-09-06 07:11:33

标签: python pandas recursion

在熊猫DF中,当递归添加值并最后返回时,它给出的是“无”,即函数不返回任何值。

请参见下面的代码,在此我创建了一个具有三列nameclassmarks的空DF,并使用add_values函数通过递归向该DF添加值一些随机数据,最后返回DF。

返回的

DF显示为无。请对此提供帮助。

也尝试在递归之间打印DF,它正在打印值。

import pandas as pd
import random
import string


def set_random_data(df):
    name = "".join([random.choice(string.ascii_lowercase) for i in range(3)])
    iclass = random.randint(1,10)
    marks = random.randint(50,100)
    df = df.append({"name": name, "class": iclass, "marks": marks}, ignore_index=True)
    return df

def add_values(df,items):
    if items == 0:
        return df
    else:
        new_df = set_random_data(df)
        #print new_df   # able to see values here
        items -= 1
        add_values(new_df,items)


if __name__ == "__main__":
    column_names=["name","class","marks"]
    df  = pd.DataFrame(columns=column_names)
    items = 4
    orig_df = add_values(df,items)
    print orig_df  #printing None here

0 个答案:

没有答案