python - 字符串在 Pandas 数据框中包含python中的函数?

标签 python pandas

我是 python 的新手,所以这里可能有一个简单的解决方案。我正在尝试清理有关 Pandas 数据框中租金价格/平方英尺的数据集。我的卧室数据列包括有关卧室和平方英尺的信息。大多数条目的格式类似于“/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)

我似乎已经设置了一个 bool 函数(我假设由 if 语句触发),因为我得到的错误是“ValueError:DataFrame 的真值不明确。使用 a.empty,a。 bool()、a.item()、a.any() 或 a.all()。”对于包含 .map(cleaned_bedrooms)

的行

最佳答案

如果这是你的数据框,

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

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

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

你得到

    bedrooms
0   1br
1   1br
2   NaN

关于python - 字符串在 Pandas 数据框中包含python中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46532319/

相关文章:

python - 如何从 Python GUI 中的用户输入中获取基数为 10 的错误?

python - 按日期对 Pandas Dataframe 进行排序,返回唯一日期,然后返回前两个日期的纪元时间

python - 在 python 中沿着列表复制元素

python - 如何根据特定对从数据框中选择结果而不进行迭代?

python - 如何计算数据框中的移动平均值?

python - 使用列表中的搜索词从文本中获取字数的最快方法?

python - 如何根据列值的长度过滤数据框行

python - 如何设置 DJANGO_SETTINGS_MODULE 环境变量?

python - 如何在 pandas 数据框中有效地存储分数列表和按日期分组

python - 为什么在计算数组的子集时,变量名称似乎有所不同?