我正在使用这个csv文件。,它是笔记本电脑信息的一个小数据集。
laptops = pd.read_csv('laptops.csv',encoding="Latin-1")
laptops["Operating System"].value_counts()
Windows 1125
No OS 66
Linux 62
Chrome OS 27
macOS 13
Mac OS 8
Android 2
Name: Operating System, dtype: int64我想将macOS和macOS的变体合并到一个值"macOS“下。
我试过了,这很管用。
mapping_dict = {
'Android': 'Android',
'Chrome OS': 'Chrome OS',
'Linux': 'Linux',
'Mac OS': 'macOS',
'No OS': 'No OS',
'Windows': 'Windows',
'macOS': 'macOS'
}
laptops["Operating System"] = laptops["Operating System"].map(mapping_dict)
laptops["Operating System"].value_counts()
Windows 1125
No OS 66
Linux 62
Chrome OS 27
macOS 21
Android 2
Name: Operating System, dtype: int64这是唯一的办法还是最好的办法?假设这样的需求可能会出现在多个值(而不仅仅是macOS)。
发布于 2022-06-02 17:16:16
laptops['Operating System'] = laptops['Operating System'].str.replace(r'(?i)(mac|mc).*os', 'macOS', regex=True)发布于 2022-06-03 22:48:16
这段代码能起作用。但你必须事先知道可能的变体。如果事先认识他们是不可行的,这将是另一个问题,不讨论这里的蟒蛇和熊猫标签。
df['Operating System'][df['Operating System'].str.lower().isin(['mac', 'osx', 'macos'])] = 'Mac OS'
发布于 2022-06-02 17:06:17
你可以简单的做
laptops['Operating System'] = laptops['Operating System'].replace('Mac OS', 'macOS')https://stackoverflow.com/questions/72479794
复制相似问题