我正在将LabelEncoder应用于pandas DataFrame, df
Feat1 Feat2 Feat3 Feat4 Feat5
A A A A E
B B C C E
C D C C E
D A C D E
Run Code Online (Sandbox Code Playgroud)
我正在将标签编码器应用于这样的数据帧 -
from sklearn import preprocessing
le = preprocessing.LabelEncoder()
intIndexed = df.apply(le.fit_transform)
Run Code Online (Sandbox Code Playgroud)
这是标签的映射方式
A = 0
B = 1
C = 2
D = 3
E = 0
Run Code Online (Sandbox Code Playgroud)
我猜测E没有给出值,4因为它没有出现在除了之外的任何其他列中Feat 5.
我希望E被赋予4- 但不知道如何在DataFrame中执行此操作.
这不是一个非常具体的问题,所以提前抱歉.
我有一个名为Crews的文件夹,它包含json文件.
我正在使用WTForms创建一个下拉列表,我希望列表中填充该文件夹中的json文件的名称,但我不知道如何去做.
(我正在创建一个可视化所选json数据的Web应用程序,因此表单将包含一个函数,该函数返回所选的json数据,由d3.js代码调用)
为了离散分类功能我正在使用LabelEncoder和OneHotEncoder.我知道LabelEncoder按字母顺序映射数据,但OneHotEncoder如何映射数据?
我有一个pandas数据框,dataFeat有5个不同的列和4个可能的标签,如上所述.
dataFeat = data[['Feat1', 'Feat2', 'Feat3', 'Feat4', 'Feat5']]
Feat1 Feat2 Feat3 Feat4 Feat5
A B A A A
B B C C C
D D A A B
C C A A A
Run Code Online (Sandbox Code Playgroud)
我申请labelencoder这样的,
le = preprocessing.LabelEncoder()
intIndexed = dataFeat.apply(le.fit_transform)
Run Code Online (Sandbox Code Playgroud)
这就是LabelEncoder对标签进行编码的方式
Label LabelEncoded
A 0
B 1
C 2
D 3
Run Code Online (Sandbox Code Playgroud)
然后我应用这样的OneHotEncoder
enc = OneHotEncoder(sparse = False)
encModel = enc.fit(intIndexed)
dataFeatY = encModel.transform(intIndexed)
Run Code Online (Sandbox Code Playgroud)
intIndexed.shape = 94,5和dataFeatY.shape=94,20.
我的形状有点困惑dataFeatY- 不应该也是95,5?
按照下面的MhFarahani回答,我这样做是为了看标签是如何映射的
import …Run Code Online (Sandbox Code Playgroud) from flask.ext.wtf import Form
from flask import send_from_directory
from wtforms import StringField, BooleanField
from wtforms import SelectField
import os
from os import listdir
from os.path import isfile, join
crewPath = ("/myproject/app/static/Crews")
filenamesCrew = [f for f in listdir(crewPath) if isfile(join(crewPath,f)) ]
class userInput(Form):
json_fileCrew = SelectField(u"json_fileCrew", choices=[(f, f) for f in filenamesCrew])
def get_data(self):
json = send_from_directory (crewPath, self.json_fileCrew.data)
return json
@app.route('/CastCrew', methods=['GET', 'POST'])
def castCrew():
form = userInput(request.form["crewYear"])
return render_template('CastCrew.html', title = 'Cast Crew View', form = form)
@app.route("/data", …Run Code Online (Sandbox Code Playgroud)