Add analyses
This commit is contained in:
parent
4eeb8d2d17
commit
1daab919ea
70
analyses/constitutional_amendments.py
Normal file
70
analyses/constitutional_amendments.py
Normal file
|
@ -0,0 +1,70 @@
|
|||
import gptc
|
||||
|
||||
amendments = [
|
||||
("1st", "First"),
|
||||
("2nd", "Second"),
|
||||
("3rd", "Third"),
|
||||
("4th", "Fourth"),
|
||||
("5th", "Fifth"),
|
||||
("6th", "Sixth"),
|
||||
("7th", "Seventh"),
|
||||
("8th", "Eighth"),
|
||||
("9th", "Ninth"),
|
||||
("10th", "Tenth"),
|
||||
("11th", "Eleventh"),
|
||||
("12th", "Twelfth"),
|
||||
("13th", "Thirteenth"),
|
||||
("14th", "Fourteenth"),
|
||||
("15th", "Fifteenth"),
|
||||
("16th", "Sixteenth"),
|
||||
("17th", "Seventeenth"),
|
||||
("18th", "Eighteenth"),
|
||||
("19th", "Nineteenth"),
|
||||
("20th", "Twentieth"),
|
||||
("21st", "Twenty-first"),
|
||||
("22nd", "Twenty-second"),
|
||||
("23rd", "Twenty-third"),
|
||||
("24th", "Twenty-fourth"),
|
||||
("25th", "Twenty-fifth"),
|
||||
("26th", "Twenty-sixth"),
|
||||
("27th", "Twenty-seventh"),
|
||||
]
|
||||
|
||||
with open("model.gptc", "rb") as f:
|
||||
model = gptc.deserialize(f)
|
||||
|
||||
data = {}
|
||||
|
||||
for number, name in amendments:
|
||||
number_data = model.get(number + " Amendment")
|
||||
name_data = model.get(name + " Amendment")
|
||||
|
||||
if number_data and not name_data:
|
||||
data[name] = number_data
|
||||
elif name_data and not number_data:
|
||||
data[name] = name_data
|
||||
elif number_data and name_data:
|
||||
data[name] = {
|
||||
key: (number_data[key] + name_data[key]) / 2
|
||||
for key in number_data.keys()
|
||||
}
|
||||
|
||||
classified_amendments = sorted(data.items(), key=lambda x: x[1]["left"])
|
||||
|
||||
print("# Constitutional Amendment Analysis")
|
||||
print()
|
||||
print("""This is an analysis of which amendments to the U.S. Constitution are mentioned
|
||||
more in right- or left-leaning American news sources. Data do not necessarily
|
||||
correlate with support or opposition for the amendment among right- or
|
||||
left-leaning Americans.""")
|
||||
print()
|
||||
print("| Amendment | Left | Right |")
|
||||
print("+----------------+-------+-------+")
|
||||
for amendment, data in classified_amendments:
|
||||
percent_right = f"{data['right']*100:>4.1f}%"
|
||||
percent_left = f"{data['left']*100:>4.1f}%"
|
||||
|
||||
amendment_padding = " "*(14 - len(amendment))
|
||||
print(f"| {amendment}{amendment_padding} | {percent_left} | {percent_right} |")
|
||||
print("+----------------+-------+-------+")
|
||||
print("| Amendment | Left | Right |")
|
85
analyses/states.py
Normal file
85
analyses/states.py
Normal file
|
@ -0,0 +1,85 @@
|
|||
import gptc
|
||||
|
||||
states = [
|
||||
"Alabama",
|
||||
"Alaska",
|
||||
"Arizona",
|
||||
"Arkansas",
|
||||
"California",
|
||||
"Colorado",
|
||||
"Connecticut",
|
||||
"Delaware",
|
||||
"Florida",
|
||||
"Georgia",
|
||||
"Hawaii",
|
||||
"Idaho",
|
||||
"Illinois",
|
||||
"Indiana",
|
||||
"Iowa",
|
||||
"Kansas",
|
||||
"Kentucky",
|
||||
"Louisiana",
|
||||
"Maine",
|
||||
"Maryland",
|
||||
"Massachusetts",
|
||||
"Michigan",
|
||||
"Minnesota",
|
||||
"Mississippi",
|
||||
"Missouri",
|
||||
"Montana",
|
||||
"Nebraska",
|
||||
"Nevada",
|
||||
"New Hampshire",
|
||||
"New Jersey",
|
||||
"New Mexico",
|
||||
"New York",
|
||||
"North Carolina",
|
||||
"North Dakota",
|
||||
"Ohio",
|
||||
"Oklahoma",
|
||||
"Oregon",
|
||||
"Pennsylvania",
|
||||
"Rhode Island",
|
||||
"South Carolina",
|
||||
"South Dakota",
|
||||
"Tennessee",
|
||||
"Texas",
|
||||
"Utah",
|
||||
"Vermont",
|
||||
"Virginia",
|
||||
"Washington",
|
||||
"West Virginia",
|
||||
"Wisconsin",
|
||||
"Wyoming",
|
||||
]
|
||||
|
||||
with open("model.gptc", "rb") as f:
|
||||
model = gptc.deserialize(f)
|
||||
|
||||
classified_states = []
|
||||
|
||||
for state in states:
|
||||
classified_states.append((state, model.get(state),))
|
||||
|
||||
classified_states.sort(key=lambda x: x[1]["left"])
|
||||
|
||||
longest = max([len(state) for state in states])
|
||||
|
||||
print("# State Analysis")
|
||||
print()
|
||||
print("""This is an analysis of which states are mentioned more in right- or left-
|
||||
leaning American news sources. Results do not necessarily correlate with the
|
||||
political views of residents of the states; for example, the predominantly
|
||||
liberal state of Oregon is mentioned more in right-leaning sources than in
|
||||
left-leaning ones.""")
|
||||
print()
|
||||
print("| State | Left | Right |")
|
||||
print("+----------------+-------+-------+")
|
||||
for state, data in classified_states:
|
||||
percent_right = f"{round(data['right']*1000)/10}%"
|
||||
percent_left = f"{round(data['left']*1000)/10}%"
|
||||
|
||||
state_padding = " "*(longest - len(state))
|
||||
print(f"| {state}{state_padding} | {percent_left} | {percent_right} |")
|
||||
print("+----------------+-------+-------+")
|
||||
print("| State | Left | Right |")
|
Loading…
Reference in New Issue
Block a user