python - 如何只保留数据框列中的字符串

标签 python pandas

我有一个包含许多公司特征的数据框。 我的问题是,在“设施名称”列中,我发现有些行具有浮点值,因此我想删除它们。为此,我使用了以下似乎不起作用的代码行:

df = df[isinstance(df['Facility Name'], str)]

知道怎么做吗?

最佳答案

你很接近。这应该有效:

python 2.x:

df = df[df['Facility Name'].apply(lambda x: isinstance(x, basestring))]

Python 3.x:

df = df[df['Facility Name'].apply(lambda x: isinstance(x, (str, bytes)))]

下面是一些 Python 3.x 代码,您可以看到它是如何工作的:

In [1]: import pandas as pd

In [2]: import numpy as np

In [3]: df = pd.DataFrame({'Facility Name': [1, 0, None, 'Yes', 'No', 'Maybe So', b'what', np.nan, np.inf]})                                                         

In [4]: df                                                                                                                                                           
Out[4]: 
  Facility Name
0             1
1             0
2          None
3           Yes
4            No
5      Maybe So
6       b'what'
7           NaN
8           inf

In [5]: df[df['Facility Name'].apply(lambda x: isinstance(x, str))]                                                                                                  
Out[5]: 
  Facility Name
3           Yes
4            No
5      Maybe So

In [6]: df[df['Facility Name'].apply(lambda x: isinstance(x, (str, bytes)))]                                                                                         
Out[6]: 
  Facility Name
3           Yes
4            No
5      Maybe So
6       b'what'

关于python - 如何只保留数据框列中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33845695/

相关文章:

python - Django-s3direct上传图片

python - Pandas:Drop() int64 基于值返回对象

python - 两列第一个位置的 NaN(按每个唯一值)

Pandas 数据框 : extract data with specific crtieria/conditions minimum in a column fixing other columns

python - Pandas 数据框从父列和子列中删除最后一个 "\"

python - GIMP Python 插件加载 2 个图像作为图层

python - NetworkX - Graph.nodes() 如何接收参数?

python - 带有 Python 3 的 opencv 3.0.0 alpha 无法导入 cv2

python - 如何从 matplotlib 图中获取行数和列数?

python - Pandas to_sql() 更新数据库中的唯一值?