70 lines
1.8 KiB
Python
70 lines
1.8 KiB
Python
import pandas as pd
|
|
import seaborn as sns
|
|
from matplotlib import pyplot as plt
|
|
|
|
data = pd.read_csv("result.csv")
|
|
|
|
data['viewRate'] = (data['view'] / data['video']) / data['fan']
|
|
|
|
ind = data.loc[data['isOffice'] == 0]
|
|
office = data.loc[data['isOffice'] == 1]
|
|
|
|
# Question 1
|
|
sns.histplot(data=ind, x='fan', bins=100)
|
|
plt.savefig("q1-ind-fan-hist.png"); plt.show()
|
|
|
|
sns.histplot(data=office, x='fan', bins=100)
|
|
plt.savefig("q1-office-fan-hist.png"); plt.show()
|
|
|
|
sns.boxplot(data=[ind['fan'], office['fan']], orient='h')
|
|
plt.savefig("q1-fan-box.png"); plt.show()
|
|
|
|
|
|
# Question 2
|
|
ind = ind.sort_values(
|
|
by=['viewRate']
|
|
).iloc[
|
|
len(ind.index)*5//100:len(ind.index)*95//100
|
|
]
|
|
office = office.sort_values(
|
|
by=['viewRate']
|
|
).iloc[
|
|
len(office.index)*5//100:len(office.index)*95//100
|
|
]
|
|
|
|
sns.histplot(data=ind, x='viewRate', bins=100)
|
|
plt.savefig("q2-ind-viewRate-hist.png"); plt.show()
|
|
|
|
sns.histplot(data=office, x='viewRate', bins=100)
|
|
plt.savefig("q2-office-viewRate-hist.png"); plt.show()
|
|
|
|
sns.boxplot(data=[ind['viewRate'], office['viewRate']], orient='h')
|
|
plt.savefig("q2-viewRate-box.png"); plt.show()
|
|
|
|
|
|
# Question 3
|
|
firstHalf = data.iloc[lambda x: x.index < len(data.index)//2]
|
|
firstHalf = firstHalf.sort_values(
|
|
by=['viewRate']
|
|
).iloc[
|
|
len(firstHalf.index)*5//100:len(firstHalf.index)*95//100
|
|
]
|
|
secondHalf = data.iloc[lambda x: x.index >= len(data.index)//2]
|
|
secondHalf = secondHalf.sort_values(
|
|
by=['viewRate']
|
|
).iloc[
|
|
len(secondHalf.index)*5//100:len(secondHalf.index)*95//100
|
|
]
|
|
|
|
sns.histplot(data=firstHalf, x='viewRate', bins=100)
|
|
plt.savefig("q3-firstHalf-viewRate-hist.png"); plt.show()
|
|
|
|
sns.histplot(data=secondHalf, x='viewRate', bins=100)
|
|
plt.savefig("q3-secondHalf-viewRate-hist.png"); plt.show()
|
|
|
|
sns.boxplot(
|
|
data=[firstHalf['viewRate'], secondHalf['viewRate']],
|
|
orient='h'
|
|
)
|
|
plt.savefig("q3-viewRate-box.png"); plt.show()
|