Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Better methods for showing metadata

オープン
#3 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
julia
領域
data

調査の方向性

まず、既存の colmetadata API と、names(df) がテーブルの列をどのように公開しているかを確認します。提案されている showcolmetadata オーバーロードとその出力例を比較し、その後、メタデータ表示に関する現在のテストまたはドキュメントを確認します。要求された列とラベルの組み合わせが、読みやすい表形式の出力でサポートされていれば完了です。

索引モデルが issue の本文から書いたものです。

説明

I'm using metadata for the first time today (I usually use Stata and R for data cleaning) and I found it helpful to define the following functions to make it easier to see metadata

function showcolmetadata(df, col::Union{AbstractString, Symbol}, label::AbstractString)
    colmetadata(df, col, label)
end

function showcolmetadata(df, cols::AbstractVector{<:Union{AbstractString, Symbol}}, label::AbstractString)
    labvals = [colmetadata(df, col, label) for col in cols]
    nt = (; :variable => cols, Symbol(label) => labvals)
    pretty_table(nt; nosubheader = true, crop = :horizontal, alignment = [:l, :l])
end

function showcolmetadata(df, col::Union{AbstractString, Symbol}, labels::AbstractVector{<:AbstractString})
    labvals = [colmetadata(df, col, label) for label in labels]
    nt(; :label => labels, :value => labvals)
    pretty_table(nt; nosubheader = true, tile = "colmetadata for $col",  crop = :horizontal, alignment = [:l, :l])
end

function showcolmetadata(df, cols::Colon, label::AbstractString)
    showcolmetadata(df, names(df), label)
end

function showcolmetadata(df, col::Union{AbstractString, Symbol}, labels::Colon)
    d = colmetadata(df, col)
    labnames = names(d)
    showcolmetadata(df, col, labnames)
end

They would be used like following: You can see that the column names are pretty uninformative in the Penn World Tables, exactly the kind of situation metadata is great for.

julia> showcolmetadata(pwt[:, 1:10], :, "label")
┌───────────────┬──────────────────────────────────────────────────────────
│ variable      │ label                                                   ⋯
├───────────────┼──────────────────────────────────────────────────────────
│ countrycode   │ 3-letter ISO country code                               ⋯
│ country       │ Country name                                            ⋯
│ currency_unit │ Currency unit                                           ⋯
│ year          │ Year                                                    ⋯
│ rgdpe         │ Expenditure-side real GDP at chained PPPs (in mil. 2017 ⋯
│ rgdpo         │ Output-side real GDP at chained PPPs (in mil. 2017US$)  ⋯
│ pop           │ Population (in millions)                                ⋯
│ emp           │ Number of persons engaged (in millions)                 ⋯
│ avh           │ Average annual hours worked by persons engaged (source: ⋯
│ hc            │ Human capital index, see note hc                        ⋯
└───────────────┴──────────────────────────────────────────────────────────
                                                           1 column omitted

主要言語
Julia
スター
19
フォーク
1
平均マージ
8分
マージ済み PR(30日)
3

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

JuliaData/TableMetadataTools.jl のほかの issue

JuliaData/TableMetadataTools.jl の issue をすべて見る

似ている issue

Julia の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。