Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于标记观察创建逻辑列_Python_Awk - Fatal编程技术网

Python 基于标记观察创建逻辑列

Python 基于标记观察创建逻辑列,python,awk,Python,Awk,以下是语料库的摘录: w1, a1, c, f, s, w, q , p w2, p, z, l, c, t, w, k, e, d, a2 w3, z, s, b, t, l w4, a3, l, h, k, s, e, b ... 我正在寻找以下输出: lemma, a1, a2, a3, b, c, d, e, f, h, k, l, p, q, s, t, w, z w1, T, F, F, F, T, F, F, T, F, F, F, T, T, T, F, F,

以下是语料库的摘录:

w1, a1, c, f, s, w, q , p 
w2, p, z, l, c, t, w, k, e, d, a2 
w3, z, s, b, t, l
w4, a3, l, h, k, s, e, b
...
我正在寻找以下输出:

lemma, a1, a2, a3, b, c, d, e, f, h, k, l, p, q, s, t, w, z
w1,    T,   F, F,  F, T, F, F, T, F, F, F, T, T, T, F, F, F 
w2,    F,   T, F,  F, T, T, T, F, F, T, T, T, F, F, F, T, T
...
通常,我会在python中使用
collections.Counter
,但是dicts上的单词和我的许多引理都有相同的值(都是相同的引理)。不同的python实现,甚至awk实现都会有所帮助。

使用:

data=''w1、a1、c、f、s、w、q、p
w2,p,z,l,c,t,w,k,e,d,a2
w3,z,s,b,t,l
w4,a3,l,h,k,s,e,b''
#假设“index”是每行的第一个元素,以逗号分隔
对于数据中的行,index=[row.split(',')[0]。split('\n')]
#对于MultiLabelBinarizer,需要数组数组/列表列表表示,
#因此,将每行中的每个字符串相应地拆分
data=[data.split('\n')中的行的列表(映射(lambda x:x.strip(),row.split(','))[1:])]
从sklearn.preprocessing导入多LabelBinarizer
enc=多标签二进制程序()
X=enc.fit_变换(数据)
作为pd进口熊猫
df=pd.DataFrame(数据=X,列=enc.classes,索引=index)
打印(df)
a1 a2 a3 b c d f h k l p q s t w z
w1 10 0 0 1 0 1 0 0 1 1 1 0 1 0
w2 0 1 0 1 1 1 0 1 1 0 1 1 1 1 1
w3 0 0 0 1 0 0 0 0 0 1 0 1 0 1
w4 0 1 0 1 0 1 0 1 1 0 1 0 0 0 0 0
如果要将向量表示为布尔值,只需使用:

df=pd.DataFrame(data=X.astype(bool),columns=enc.classes,index=index)
打印(df)
a1 a2 a3 b c d f h k l p q s t w z
真假假假假假假假假假假真假假假真假假假假
w2假真实假真实假真实假真实假真实假真实
w3假假假假假假假假假真假假真假假真
w4 False False True False True False True False False False
使用以下方法可能有效:

data=''w1、a1、c、f、s、w、q、p
w2,p,z,l,c,t,w,k,e,d,a2
w3,z,s,b,t,l
w4,a3,l,h,k,s,e,b''
#假设“index”是每行的第一个元素,以逗号分隔
对于数据中的行,index=[row.split(',')[0]。split('\n')]
#对于MultiLabelBinarizer,需要数组数组/列表列表表示,
#因此,将每行中的每个字符串相应地拆分
data=[data.split('\n')中的行的列表(映射(lambda x:x.strip(),row.split(','))[1:])]
从sklearn.preprocessing导入多LabelBinarizer
enc=多标签二进制程序()
X=enc.fit_变换(数据)
作为pd进口熊猫
df=pd.DataFrame(数据=X,列=enc.classes,索引=index)
打印(df)
a1 a2 a3 b c d f h k l p q s t w z
w1 10 0 0 1 0 1 0 0 1 1 1 0 1 0
w2 0 1 0 1 1 1 0 1 1 0 1 1 1 1 1
w3 0 0 0 1 0 0 0 0 0 1 0 1 0 1
w4 0 1 0 1 0 1 0 1 1 0 1 0 0 0 0 0
如果要将向量表示为布尔值,只需使用:

df=pd.DataFrame(data=X.astype(bool),columns=enc.classes,index=index)
打印(df)
a1 a2 a3 b c d f h k l p q s t w z
真假假假假假假假假假假真假假假真假假假假
w2假真实假真实假真实假真实假真实假真实
w3假假假假假假假假假真假假真假假真
w4 False False True False True False True False False False

有趣的是,你能向人们展示你已经试图让这成为一个有效问题的东西吗?Whar是一个“引理”?有趣的是,你能向人们展示你已经试图让这成为一个有效问题的东西吗?Whar是一个“引理”?