Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中,如何在函数内新创建的多个数据帧中返回非空数据帧?_Python_List_Function_Dataframe - Fatal编程技术网

在python中,如何在函数内新创建的多个数据帧中返回非空数据帧?

在python中,如何在函数内新创建的多个数据帧中返回非空数据帧?,python,list,function,dataframe,Python,List,Function,Dataframe,我是新来的熊猫,我对从函数返回数据帧有疑问。我有一个函数,它根据给定的参数创建三个新的数据帧,该函数必须只返回非空的数据帧。我该怎么做 my code: def df_r(df,colname,t1): t1_df = pd.DataFrame() t2_df = pd.DataFrame() t3_df = pd.DataFrame() if t1 : for colname in df: some code

我是新来的熊猫,我对从函数返回数据帧有疑问。我有一个函数,它根据给定的参数创建三个新的数据帧,该函数必须只返回非空的数据帧。我该怎么做

my code:
 def df_r(df,colname,t1):
    t1_df = pd.DataFrame()
    t2_df = pd.DataFrame()
    t3_df = pd.DataFrame()
    if t1 :
      for colname in df:
           some code
           some code
           t1_df = some data
    if t2 :
      for colname in df:
           some code
           some code
           t2_df = some data
    if t3 :
      for colname in df:
           some code
           some code
           t3_df = some data
    list = [t1_df,t2_df,t3_df]
现在它应该只返回t1_df,因为参数是t1给定的。所以我把这三个都插入了一个列表中

list = [t1_df,t2_df,t3_df]

如何检查哪个df是非空的并返回它?

只需检查每个
数据帧的
empty
属性

例如

输出:

DataFrame is empty
如果数据帧为空,pd.empty将返回
True
,否则将返回
False

即使存在列名,但仍然缺少数据,这也会起作用

所以要回答你的具体情况

list = [t1_df,t2_df,t3_df]
for df in list:
    if not df.empty:
        return df

假设您的案例只有一个数据帧非空

如果df为非空,我想返回我的答案
if t1_df.empty != True:
        return t1_df
    elif t2_df.empty !=True:
        return t2_df
    else:
        return t2_df
if t1_df.empty != True:
        return t1_df
    elif t2_df.empty !=True:
        return t2_df
    else:
        return t2_df