python - 计算字符串特征
问题描述
数据位于 csv 的 pandas 数据框中。我是这样带进来的:
listing = pd.read_csv("listings.csv")
我有一个来自 AirBnB 数据集的便利设施列。我对 AirBnB 何时将“允许携带宠物”作为其设施的一部分感兴趣。
in: listing['amenities'].head(2)
out: 0 {TV,"Cable TV",Internet,Wifi,"Paid parking off...
1 {TV,"Cable TV",Internet,Wifi,Kitchen,"Free par...
通常在便利设施栏中,我们会看到{TV,"Cable TV",Internet,Wifi,"Pets Allowed"...}
如何计算“允许携带宠物”的行数?
我试过了:
pets_count = listing['amenities'].str.contains('pet*').sum()
pets_count
返回 59,但我知道这不是值,因为还有更多。
解决方案
一个简单的解决方案是将字符串拆分,
并删除"
像这样:
s = """{TV,"Cable TV",Internet,Wifi,Kitchen}"""
amenities = [amenitie.replace('"','').strip() for amenitie in s.replace('{', '').replace('}', '').split(',')]
if 'Pets allowed' in amenities:
print('pets allowed !')
推荐阅读
- ruby - 当我已经定义了方法时,我得到了一个“NoMethodError”
- sql-server - SSIS - 带格式文件和单引号的批量插入
- android - LiveDataScope 发出不调用
- python-3.x - 在“BashOperator”中更改 Airflow 上“next_execution_date”的时间
- php - 如何根据语言/区域设置为 1、2、3 制作 PHP 输出“1st”、“2nd”、“3rd”等?
- angular8 - 数字列未显示使用角度 8 中的 ngx-highlightJs
- reactjs - 无法读取未定义 onClick 的属性“推送”
- floating-point - 多平台支持扩展类型的二进制数据文件
- css - 不能在反应 CSS 导入中为 className 使用字符串文字?
- apache-spark - 将spark dataset.写入hdfs时如何获得幂等保证?