Nel*_*uis 6 dataframe python-3.x pandas
我创建了一个包含3列的数据框,第三列包含列表,我想删除该单元格中包含空列表的行。
我尝试过
df[df.numbers == []] and df[df.numbers == null]
but nothing works.
Run Code Online (Sandbox Code Playgroud)
name country numbers
Lewis Spain [1,4,6]
Nora UK []
Andrew UK [3,5]
Run Code Online (Sandbox Code Playgroud)
结果将是一个没有Nora行的数据帧
ank*_*_91 10
使用series.str.len()检查元素的长度在列表中,然后过滤掉它等于0:
df[~df.numbers.str.len().eq(0)]
Run Code Online (Sandbox Code Playgroud)
name country numbers
0 Lewis Spain [1, 4, 6]
2 Andrew UK [3, 5]
Run Code Online (Sandbox Code Playgroud)
利用任何列表乘以 0 的结果都会给出一个空列表的想法,一种方法是:
In [29]: df[df.numbers != df.numbers * 0]
Out[29]:
name numbers country
0 Lewis [1, 4, 6] Spain
2 Andrew [3, 5] UK
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
124 次 |
| 最近记录: |