88 lines
1.6 KiB
Python
88 lines
1.6 KiB
Python
#!/usr/bin/env python
|
|
# coding: utf-8
|
|
|
|
# In[90]:
|
|
|
|
|
|
import pandas as pd
|
|
import csv
|
|
|
|
|
|
# In[91]:
|
|
|
|
|
|
tsv_data = pd.read_csv('in.tsv', sep='\t',header=None, quoting=csv.QUOTE_NONE)[0]
|
|
|
|
|
|
# In[139]:
|
|
|
|
|
|
#expected = pd.read_csv('expected.tsv', sep='\t',header=None)[0]
|
|
|
|
|
|
|
|
|
|
|
|
# In[158]:
|
|
|
|
|
|
male={'silnik', 'windows', 'gb', 'mb', 'mecz', 'pc', 'opony', 'apple', 'iphone', 'zwiastuny', 'hd', 'ubuntu', 'system', 'serwer', 'piłka', 'metal'}
|
|
female={'ciąża', 'miesiączki', 'ciasto', 'ciąże', 'zadowolona', 'antykoncepcyjne', 'ginekologia', 'tabletki', 'porodzie', 'mąż', 'krwawienie', 'ciasta', 'narzeczony', 'ślub'}
|
|
male = {x[:6].lower() for x in male}
|
|
female = {x[:6].lower() for x in female}
|
|
|
|
|
|
# In[159]:
|
|
|
|
|
|
trimmed_docs=[]
|
|
for document in tsv_data:
|
|
new_doc=[]
|
|
for word in str(document).lower().split():
|
|
new_doc.append(word[:6])
|
|
trimmed_docs.append(new_doc)
|
|
|
|
|
|
# In[160]:
|
|
|
|
|
|
male_or_female=[]
|
|
|
|
for doc in trimmed_docs:
|
|
male_or_female.append((len(male&set(doc)), len(female&set(doc))))
|
|
|
|
doc_mean = sum(map(len, trimmed_docs))/float(len(trimmed_docs))
|
|
# In[161]:
|
|
|
|
#print(doc_mean)
|
|
answers=[]
|
|
for i in range(len(male_or_female)):
|
|
if male_or_female[i][0]>male_or_female[i][1]:
|
|
answers.append(1)
|
|
elif male_or_female[i][0]<male_or_female[i][1]:
|
|
answers.append(0)
|
|
else:
|
|
if len(trimmed_docs[i]) < doc_mean:
|
|
answers.append(0)
|
|
else:
|
|
answers.append(1)
|
|
|
|
|
|
|
|
# In[162]:
|
|
|
|
"""
|
|
result=[]
|
|
for i in range(len(answers)):
|
|
if answers[i]==expected[i]:
|
|
result.append(1)
|
|
else:
|
|
result.append(0)
|
|
"""
|
|
|
|
|
|
|
|
df = pd.Series(answers)
|
|
df.to_csv('out.tsv', sep = '\t')
|
|
|