現在、私はリスト内包するデータフレームのリストを持っています。その結果、リストの理解に関数を修飾する行があるかどうかにかかわらず、すべてのデータフレームになります。私は、空ではないdfを印刷したいだけです。それはすべて可能ですか?さらに、データフレームの名前も印刷することは可能でしょうか?リスト内包のみから空でないデータフレームを印刷
例:
N = 5
np.random.seed(0)
df1 = pd.DataFrame(
{'X':np.random.uniform(0,5,N),
'Y':np.random.uniform(0,5,N),
'Z':np.random.uniform(0,5,N),
})
df2 = pd.DataFrame(
{'X':np.random.uniform(-5,0,N),
'Y':np.random.uniform(-5,0,N),
'Z':np.random.uniform(-5,0,N),
})
def func_sel(df):
return df[df['X'] > 0]
dfs_list = [df1, df2]
dfs_sel = [func_sel(x) for x in dfs_list]
dfs_sel
Out[14]:
[ X Y Z
0 2.744068 3.229471 3.958625
1 3.575947 2.187936 2.644475
2 3.013817 4.458865 2.840223
3 2.724416 4.818314 4.627983
4 2.118274 1.917208 0.355180, Empty DataFrame
Columns: [X, Y, Z]
Index: []]
EDIT: 私はここに必要なものは、ある種のラベルとして 'DF1' で示さDF1です。
にフィルタリングする
empty
属性を使用します[func_sel(x)はdfs_listにおけるxのlenの場合(X)]'? – MaxU私は編集を入れました。 – Zanshin