Skip to content

fins/summary の Code 列を文字列に固定し float 化(7203.0)を防止#117

Open
jevwithwind wants to merge 1 commit into
J-Quants:mainfrom
jevwithwind:feature/108-fin-summary-code-str
Open

fins/summary の Code 列を文字列に固定し float 化(7203.0)を防止#117
jevwithwind wants to merge 1 commit into
J-Quants:mainfrom
jevwithwind:feature/108-fin-summary-code-str

Conversation

@jevwithwind

Copy link
Copy Markdown

WHAT

  • fins/summaryFinSummaryApiV2)の Code 列を、DataFrame 化の前にレコード単位で文字列へ変換するよう修正しました
  • テストを2件追加しました(数値コード 7203 が欠損値と混在するケース、英数字コード 186A のケース)

WHY

issue #108 で報告されている事象への対応です。Code が数値で返却されると、欠損値との混在時に pandas の型推論で float 化し、7203.0 のような値になります。また 2024 年以降の英数字銘柄コード(例: 186A)は文字列として扱う必要があります。

issue では astype("string") が提案されていますが、float 化した後の列に適用すると "7203.0" が文字列のまま残ることを確認したため、pd.DataFrame.from_records の前にレコード単位で変換する方式としました。

影響範囲

  • get_fin_summary / get_fin_summary_cursor / get_fin_summary_rangeCode 列が常に文字列になります(報告事象の修正であり、意図した変更です)
  • 同様の事象は fins/details など他のエンドポイントにも起こり得ますが、本 PR は Ensure fins/statements LocalCode stays string (avoid 7203.0 float conversion) #108 で報告された fins/summary のみを対象としています。必要であれば別 PR で対応します
  • 修正前のバージョンで get_fin_summary_range のキャッシュに保存された CSV には float 化した Code("7203.0")が残っている場合があります。キャッシュの再生成で解消されます

コミット方針

  • リポジトリ方針に従い、単一コミットでの PR です

issue J-Quants#108 で報告された事象への対応。Code が数値で返却され欠損値と
混在すると float 化して "7203.0" となるため、DataFrame 化の前に
レコード単位で文字列へ変換する。数値コード・英数字コードのテストを追加。

Co-Authored-By: Claude Fable 5 <[email protected]>
@jevwithwind
jevwithwind requested a review from s-meitoma as a code owner July 4, 2026 03:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant