This is a list of dataframes.
JavaScript
x
4
1
import pandas as pd
2
data=[pd.DataFrame([1,2,3],columns=['a']),pd.DataFrame([]),pd.DataFrame([]),
3
pd.DataFrame([3,4,5,6,7],columns=['a'])]
4
I am trying to delete the empty dataframes from the above list that contains dataframes.
Here is what I have tried:
JavaScript
1
4
1
for i in data:
2
del i.empty()
3
data
4
which gives:
JavaScript
1
4
1
File "<ipython-input-33-d07b32efe793>", line 2
2
del i.empty()
3
^ SyntaxError: cannot delete function call
4
Important:It needs to store them in the data
variable as well
Advertisement
Answer
We ca use filter
JavaScript
1
2
1
data = list(filter(lambda df: not df.empty, data))
2
or list comprehension
JavaScript
1
2
1
data = [df for df in data if not df.empty]
2
JavaScript
1
12
12
1
print(data)
2
3
[ a
4
0 1
5
1 2
6
2 3, a
7
0 3
8
1 4
9
2 5
10
3 6
11
4 7]
12