过滤列中的字符串/浮点数/整数值(Pandas)

MMM*_*MMM 5 python integer filter dataframe pandas

如何在pandas数据框中的一列中仅过滤字符串值/整数/浮点值,如下所示?

                         SIC
1                      246804
2                      135272
3                      898.01
4                     3453.33
5                       shine  
6                        add
7                         522
8                         Nan
9                      string
10                      29.11
11                        20    
Run Code Online (Sandbox Code Playgroud)

Sco*_*ton 10

您可以使用输出pd.to_numeric和布尔索引.

要仅使用字符串:

df[pd.to_numeric(df.SIC, errors='coerce').isnull()]
Run Code Online (Sandbox Code Playgroud)

输出:

      SIC
5   shine
6     add
8     Nan
9  string
Run Code Online (Sandbox Code Playgroud)

要仅使用数字:

df[pd.to_numeric(df.SIC, errors='coerce').notnull()]
Run Code Online (Sandbox Code Playgroud)

输出:

        SIC
1    246804
2    135272
3    898.01
4   3453.33
7       522
10    29.11
11       20
Run Code Online (Sandbox Code Playgroud)