【发布时间】:2021-11-16 04:18:13
【问题描述】:
我一直在尝试使用脚本来读取数据并从下表 (AlcData) 中计算每年的平均使用频率:
| Frequency |
|---|
| Never |
| 1-2 times per year |
| 3-4 times per month |
| Every day |
| 1-2 times per week |
到这张桌子:
| Frequency |
|---|
| 0 |
| 1.5 |
| 42 |
| 365 |
| 0 |
| 78 |
| 0 |
如您所见,第一个表中有一些缺失值被读取为“NaN”,我想将其转换为值 0。我已经尝试了数十种在线解决方案来尝试替换(或者不太理想的是删除) NaN 值,但我不断收到错误消息:“无法将浮点 NaN 转换为整数”。有谁知道我的错误可能在下面的代码中?
import pandas as pd
AlcData['Frequency'].replace(str('Every day'), str('365 days per year'))
AlcData['Frequency'].replace(str('Never'), str('0 days per year'))
AlcData["Frequency"].fillna(0)
AlcData['Frequency'].str.split().str[-1].map({'week': 52, 'month': 12, 'year': 1}).mul(AlcData['Frequency'].str.extract(r'(\d+)\D*(\d+)?').ffill(axis=1).astype(int).mean(axis=1))
任何提示都将不胜感激!
【问题讨论】:
标签: python regex pandas replace nan