我在一个文件中有数据。类似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.htmldummy_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