字符串包含panda dataframe中的Python中的功能



我是Python的新手,因此这里可能有一个简单的解决方案。我正在尝试清洁有关熊猫数据框内租金/平方英尺的数据集。我的卧室数据列包括有关卧室和平方英尺的信息。大多数条目的格式为"/1BR -950ft²",但有些是"/1Br",有些是"/950ft²"。我试图用卧室创建一个干净的列,但是由于格式化,我不能在某个角色之后将字符串分开。

我决定需要创建一个函数来测试字符串是否包含" BR",但我遇到了一个错误。

这是我的代码:

def cleaned_bedrooms(x):
    if df[df['bedrooms'].str.contains('br')]:
        df['bedrooms'] = df['bedrooms'].str.split('-').str[0]
    else:
        return None
df['bedrooms'].map(cleaned_bedrooms)

我似乎已经设置了一个布尔函数(我假设是由if语句触发的),因为我遇到的错误是" valueerror:dataframe的真实价值是模棱两可的。使用A.Empty,a。bool(),a.item(),a.any()或a.all()。"对于包含.map(清洁室)的行

如果这是您的dataFrame,

    bedrooms
0   / 1br - 950ft²
1   / 1br
2   /950ft²

您可以使用str.tract提取卧室

df['bedrooms'] = df['bedrooms'].str.extract('(d+?br)', expand = False)

你得到

    bedrooms
0   1br
1   1br
2   NaN

最新更新