簡體   English   中英

使用pandas填寫缺失的分類值?

[英]Fill missing categorial values using pandas?

我想用每列新值填充缺少的分類單元格。 例如:

c1  c2  c3
a   nan  a
b   q    nan
c   d    nan
a   p    z

應該變得像

c1  c2  c3
a   n1   a
b   q    n2
c   d    n2
a   p    z

我目前的問題是我使用DictVectorizer作為分類列,但它按原樣保留NaN。

Fillna有一些uniq字符串可以滿足您的需求:

categorial_data = pd.DataFrame({'sex': ['male', 'female', 'male', 'female'],
                                'nationality': ['American', 'European', float('nan'), 'European']})
print(categorial_data)
categorial_data=categorial_data.fillna('some_unique_string')
print('after replacement')
print(categorial_data)
encoder = DV(sparse = False)
encoded_data = encoder.fit_transform(categorial_data.T.to_dict().values())
print(encoded_data)

給你

  nationality     sex
0    American    male
1    European  female
2         NaN    male
3    European  female
after replacement
          nationality     sex
0            American    male
1            European  female
2  some_unique_string    male
3            European  female
[[ 1.  0.  0.  0.  1.]
 [ 0.  1.  0.  1.  0.]
 [ 0.  0.  1.  0.  1.]
 [ 0.  1.  0.  1.  0.]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM