在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