如何使pandas.Series.str.get_dummies()报告NaN?

时间:2019-10-30 14:05:17

标签: python python-3.x pandas

我的文件中有数据。类似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部分是问题所在。我还不太清楚该怎么做。

1 个答案:

答案 0 :(得分:2)

首先用Series.fillna替换缺失值,然后用renameNaN索引:

print (data["a"].fillna('Missing').str.get_dummies(",").sum().rename({'Missing':np.nan}))
NaN     1
T       1
Tes     2
Test    1
dtype: int64