仅对包含行的字符串过滤pandas列

And*_*zma 2 string filter pandas

在阅读并过滤excel文件后,我最终得到了一个看起来像这样的pandas数据框.

Col1    Col2
afaf    abc 1
1512        
asda    cdd 2
adsd        
Run Code Online (Sandbox Code Playgroud)

我想结束

Col1    Col2
afaf    abc1
asda    cdd2
Run Code Online (Sandbox Code Playgroud)

我试过df['Col2'].replace('',np.nan,inplace=True)并做了dropna之后但没有任何东西被替换,所以我认为它无法替换因为column2在那些空行中有多个空格.

我忘了提到我不能使用strip,因为Col2字符串有空格我需要保持不变.

有任何想法吗?

jez*_*ael 5

我想你可以使用boolean indexing与条件通过去除一些可能的空格strip,然后检查是否length通过len并不0:

print (df[df.Col2.str.strip().str.len() != 0])
   Col1   Col2
0  afaf  abc 1
2  asda  cdd 2
Run Code Online (Sandbox Code Playgroud)

如果没有空格:

df[df.Col2.str.len() != 0]
Run Code Online (Sandbox Code Playgroud)