python - 如何让 pandas.Series.str.get_dummies() 报告 NaN?
问题描述
我在文件中有数据。类似 CSV 但每个字段有多个值是可能的。我使用 get_dummies() 生成我的专栏的概述。里面有什么,频率如何。就像带有标称数据的直方图一样。我想查看缺失的(nan)值。但是我的代码隐藏了它们。
我正在使用:https ://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.str.get_dummies.html
我不能使用:https : //pandas.pydata.org/pandas-docs/stable/reference/api/pandas.get_dummies.html dummy_na 可以解决问题
原因:我需要 sep 参数。
来说明区别。
import pandas
data = pandas.read_csv("testdata.csv",sep=";")
Bla["a"].str.get_dummies(",").sum() #no nan values
pandas.get_dummies(Bla["a"],dummy_na=True).sum() #not separated
数据:
a;b
Test,Tes;
;a
Tes;a
T;b
我希望:
T 1
Tes 2
Test 1
NaN 1
但输出是:
T 1
Tes 2
Test 1
dtype: int64
或者
T 1
Tes 1
Test,Tes 1
NaN 1
dtype: int64
很高兴也使用另一个功能!也许 .str 部分是问题所在。我还没有完全弄清楚那是做什么的。
解决方案
首先将缺失值替换为Series.fillna
,然后在索引中替换rename
为NaN
:
print (data["a"].fillna('Missing').str.get_dummies(",").sum().rename({'Missing':np.nan}))
NaN 1
T 1
Tes 2
Test 1
dtype: int64
推荐阅读
- cypress - 当 url 是变量时,赛普拉斯访问命令会产生错误
- wordpress - WordPress中自定义帖子类型的单独循环?
- javascript - 如何从调用文件中捕获异常?
- python - 如何从python中的字符串值中提取特定内容
- r - R在数据框中查找小于另一个向量中的值的值
- java - Java ConcurrentHashMap 多头环境
- r - 如何根据 R 中其他列的值过滤一列中的值?
- php - php 5.6或8无法构建,7.3构建成功
- php - CodeIgniter3 - AWS S3 Bucket - PHP 警告来了,但文件上传成功
- electron - 在加速器中为电子js中的单个菜单项添加多个快捷键