我的文件中有数据。类似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部分是问题所在。我还不太清楚该怎么做。
答案 0 :(得分:2)
首先用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