gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 05:41:13 25 4
gpt4 key购买 nike

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

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com