33
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

pandasにコントリビュートした話

Posted at

概要

バックエンド開発者のnakatomotoiです!
今回はpandasにコントリビュートした話をまとめたいと思います。

pandas とは?

pandasはPythonで利用されるライブラリで、データ分析の場面でよく使われるものです。
機械学習のコード等でよく使われており、Githubのstar数は34kを超えています。

step1. issueを探す

まずは対応するissueを探しましょう。
pandasでは3k以上のissueがあり、中には対応が簡単なものもあります。
今回は最初のコントリビュートということで、good first issueのタグから探しました。
(簡単なやつは結構競争率高いです)

step2. 対応方針を決める

issueを選んだらどのように対応するか方針を固めましょう。
今回のissueでは、空パケットのデータフレームを読み込むときにエラーが発生するという問題が指摘されているようです。
問題自体の対応は別PRで既に行われているようなので、テストケースを追加する必要がありそうです。

import pandas as pd
df = pd.DataFrame({"value": pd.array([], dtype=pd.Int64Dtype()})
df.to_parquet("/path")
df2 = pd.read_parquet("/path")
...
ValueError: need at least one array to concatenate

対応方針については質問を投げたら丁寧に回答もらえました。

スクリーンショット 2022-05-31 0.43.47.png

step3. PRを作成する

対応がわかったので、早速PRを作成しましょう。
OSSではコントリビューター向けにドキュメントがあるため、一読してから取り組みます。

step4. レビューを元に修正する

PRを作成すると、レビューをしてもらえるのでコメントを基に修正していきます。
時差の関係で夜中にコメントが入ることもありますが、なるべく早く対応していくとよさそうです。
pandasくらいの大きいライブラリだと、しばらくレビューもらえないこともあるみたい…

まとめ

step 1~4 を経て、無事PRマージされました!
普段ライブラリは使う側ですが、OSSを通してコミュニティに微力ながら貢献できました。
思ったほどハードルの高いものではないので、これを読んだ初学者〜中級者の方も積極的にOSSコントリビュートしていきましょう!

33
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
33
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?