titanite.core#

Module Contents#

Functions#

comment_data

Parse comment data

response

アンケートの回答状況

group_data

データフレームをグループ化

group_hbar

groupbyで集計したデータをヒストグラムにする

hbar

hbar_loop

crosstab

crosstab_data

クロス集計とカイ二乗検定

crosstab_heatmap

クロス集計のヒートマップを作成

crosstab_loop

クロス集計のループ

API#

titanite.core.comment_data(data: pandas.DataFrame) dict[str, pandas.DataFrame]#

Parse comment data

  1. 自由記述の回答を抽出する(無回答を削除)

  2. 自動で翻訳する

  3. 質問番号ごとにJSONファイルに出力する

titanite.core.response(data: pandas.DataFrame) altair.LayerChart#

アンケートの回答状況

アンケートの回答日時を使って、日時と時刻のヒートマップを作成します。 関係するメールを送った反応があったかどうかを調べることができます。 (回答日時は日本時間(UTC+0900)で保存されているようです)

Parameters

data : pd.DataFrame 前処理したデータフレーム

Returns

alt.LayerChart 回答状況のヒートマップ

titanite.core.group_data(data: pandas.DataFrame, x: str, color: str) pandas.DataFrame#

データフレームをグループ化

Parameters

  • data : pd.DataFrame 前処理済みのデータフレーム

  • x: str X軸に設定するカラム名

  • color: str 色のグループ化に設定するカラム名

Returns

  • pd.DataFrame グループ化したデータフレーム

titanite.core.group_hbar(data: pandas.DataFrame, x: str, color: str, title: str, y: str = 'response')#

groupbyで集計したデータをヒストグラムにする

ヒストグラムは、積み上げ棒グラフと、割合グラフの2種類作成します。 割合グラフには、回答数をテキストでオーバーレイ表示します。 Jupyter Notebookで開く場合、受け取ったLayeredChartをinteractiveすることで、 tooltipをホバー表示できます。

Parameters

data : pd.DataFrame description x : str X軸に設定するカラム名 color : str 色のグループ化に設定するカラム名 title : str プロットのタイトル y : str, optional Y軸に設定するカラム名, by default “response” or “count()”

Returns

type description

titanite.core.hbar(data: pandas.DataFrame, x: str, color: str, title: str)#
titanite.core.hbar_loop(data: pandas.DataFrame, headers: list)#
titanite.core.crosstab(data: pandas.DataFrame, x: str, y: str)#
titanite.core.crosstab_data(data: pandas.DataFrame, x: str, y: str)#

クロス集計とカイ二乗検定

カラムXとカラムYの2つの離散変数に対して、 pd.crosstab(index, columns)でクロス集計し、 scipy.stats.chi2_contigency(observed)で (ピアソンの)カイ二乗検定します。

カイ二乗検定はデフォルトでcorrection=Trueとなっていて、 自由度が1のとき、Yates’の連続補正がかかります。 これは集計数が少ないときにp値を大きくするための補正です。

クロス集計したデータフレーム(cross_tab)と、 検定の結果(statisticpvaluedofexpected)を返します。

Parameters

data : pd.DataFrame 前処理済のデータフレーム x : str 集計するカラム名(X軸) y : str 集計するカラム名(Y軸)

Returns

type description

titanite.core.crosstab_heatmap(data: pandas.DataFrame, x: str, y: str, z: str) altair.LayerChart#

クロス集計のヒートマップを作成

入力データは、クロス集計表をロングデータに変換したものを与えてください。 クロス集計表をヒートマップ(mark_rect)に描いた上に、 頻度をテキスト表示(mark_text)をしたaltair.LayerChartを返します。

プロットサイズはデフォルトで800x800にしていますが、 受け取ったあとに自由に変更してください。

Parameters

data : pd.DataFrame クロス集計したデータフレーム x : str 集計結果のカラム名(X軸) y : str 集計結果のカラム名(Y軸) color : str 集計結果のカラム名(Z軸・カラー)

Returns

alt.LayerChart 集計結果のヒートマップ

titanite.core.crosstab_loop(data: pandas.DataFrame, headers: list)#

クロス集計のループ

集計したい離散変数(カラムXとカラムYのペア)のリストを与えて、 一括してクロス集計とカイ二乗検定した結果を返します。

Parameters

data : pd.DataFrame 前処理済みのデータフレーム headers : list カラム名のペアのリスト

Returns

type いろいろ