python_analytics

主にpythonやライブラリーを使ったデータ解析、機械学習、統計学などについて書いていきます

pandas グラフseabornについて

pandas seabornについて

■折れ選グラフの作成

ax = tuki.plot(figsize=(16,4),title="Viral IMP")
ax1 =ni.plot(figsize=(16,4),title="Viral IMP")
plt.xticks(range(0,31))
ax.set_xlabel("month",fontsize=20,)
plt.legend()

f:id:abemasa3535:20180625161146p:plain
2軸折れ線グラフ

■回帰分析の作成

sns.jointplot(x='page_actions_post_reactions_like_total', y='page_posts_impressions_viral', data=merge,kind="reg")
sns.jointplot(x='page_actions_post_reactions_like_total', y='page_posts_impressions_viral', data=san,kind="reg")

f:id:abemasa3535:20180625161357p:plain

f:id:abemasa3535:20180625161556p:plain

ヒストグラムの作成

##ヒストグラム
fig = plt.figure(figsize=(14, 10))
fig.add_subplot(221)
sns.distplot(san[san.columns[1]],bins=5)
fig.add_subplot(222)
sns.distplot(hachi[hachi.columns[1]],bins=5)
fig.add_subplot(223)
sns.distplot(kyu[kyu.columns[1]],bins=5)
fig.add_subplot(224)
sns.distplot(jyu[jyu.columns[1]],bins=5,label="sassssss")

f:id:abemasa3535:20180625161716p:plain

■単一折れ線グラフの作成

##ヒストグラム
fig = plt.figure(figsize=(14, 12))
fig.add_subplot(221)
x = san[san.columns[1]]
plt.xlim([0,10000])
plt.ylim([0,0.001])
plt.title("ViralImp_2018_03",fontsize=16)
x = pd.Series(x, name="Viralimpression",)
ax = sns.distplot(x,color="y")

fig.add_subplot(222)
x = ni[ni.columns[1]]
plt.xlim([0,10000])
plt.ylim([0,0.001])
plt.title("ViralImp_2018_02",fontsize=16)
x = pd.Series(x, name="Viralimpression",)
ax = sns.distplot(x)

fig.add_subplot(223)
x = ichi[ichi.columns[1]]
plt.xlim([0,10000])
plt.ylim([0,0.001])
plt.title("ViralImp_2018_01",fontsize=16)
x = pd.Series(x, name="Viralimpression",)
ax = sns.distplot(x)


fig.add_subplot(224)
x = jyu[jyu.columns[1]]
plt.xlim([0,10000])
plt.ylim([0,0.001])
plt.title("ViralImp_2017_10",fontsize=16)
x = pd.Series(x, name="Viralimpression",)
ax = sns.distplot(x)

f:id:abemasa3535:20180625161941p:plain

plt.figure(figsize=(10, 3))
plt.ylim([2000,10000])
sns.pointplot(x="日", y='page_actions_post_reactions_like_total', data=ni)

plt.figure(figsize=(10, 3))
plt.ylim([2000,10000])
sns.pointplot(x="日", y='page_actions_post_reactions_like_total', data=jyu,color="red")

plt.figure(figsize=(10, 3))
plt.ylim([2000,10000])
sns.pointplot(x="日", y='page_actions_post_reactions_like_total', data=hachi,color="pink")

f:id:abemasa3535:20180625162041p:plain f:id:abemasa3535:20180625162104p:plain f:id:abemasa3535:20180625162137p:plain

plt.figure(figsize=(30, 15))
sns.heatmap(dd, annot=True,annot_kws={'size': 10},fmt='.1f')

f:id:abemasa3535:20180627110751p:plain

■条件分岐で外れ値を精査

for i in range(len(report)):
    if report.ix[i, 'リツイート'] >1000 or report.ix[i, 'URLクリック数'] >1000:
        report = report.drop(i)