I created this code to import a file of tweet URLs and run gender recognition on the names of all those who liked each tweet. However, most of my results yield 50%+ of the users as "unknown" gender. Why might this be the case?
users = client.get_liking_users(id=x)
tempnames = []
columns = ['display_name',
'username',
'user_location']
for user in users.data:
tempnames.append([user.name, user.username, user.location])
for g in tempnames:
name=g[0]
for i in range(len(name)):
if name[i]==' ' or name[i]=='_' or name[i]=='.':
name=name[0:I]
break
s=''
for chr in name:
if chr.isalpha():
s+=chr
gender=d.get_gender(s)
if gender=='female':
female+=1
elif gender=='male':
male+=1
elif gender=='andy':
andy+=1
elif gender=='mostly_female':
mostly_female+=1
elif gender=='most_male':
mostly_male+=1
elif gender=='unknown':
name=g[1]
for i in range(len(name)):
if name[i]==' ' or name[i]=='_' or name[i]=='.':
name=name[0:I]
break
s=''
for chr in name:
if chr.isalpha():
s+=chr
gender=d.get_gender(s)
if gender=='female':
female+=1
elif gender=='male':
male+=1
elif gender=='andy':
andy+=1
elif gender=='mostly_female':
mostly_female+=1
elif gender=='most_male':
mostly_male+=1
elif gender=='unknown':
unknown+=1
After this there's code that appends the numbers in columns and prints it. Here are sample results for one run:
female male andy unknown mostly_female mostly_male
0 25 9 0 54 5 0
1 24 26 2 38 3 0
2 24 26 2 38 3 0
3 31 17 1 37 4 0
4 43 7 1 34 3 0
5 21 23 0 42 3 0
6 18 12 1 47 6 0
7 19 25 5 30 4 0
8 26 10 1 48 4 0
9 19 22 4 35 5 0