今回はタイトルの通り、Python (Pandas) でデータフレームの数値の文字列カラムを0埋めする方法を書きたいと思います。
よくあるのが、データにID列があり中身は数値10桁とかで入っているのに、それが整数値で読むとかです。
本当は10桁なのに整数で読み込んだから、9桁になっちゃってるよぉーーー!!!という状況です。
こういうことがないように、ちゃんとIDみたいな列は文字列にして数値を0埋めしておかないといけません。
そういうときはzfillを使っていきましょう!
文字列の変数を0埋めする
まずはデータフレームをやる前に文字列の変数で確認していきます。
例えば、a="10"みたいな数値の文字列があるとします。
この時、zfillのカッコの中には出力桁数を入れます。
1 2 3 4 |
a = "10" a.zfill(5) === '00010' |
はい、まずは数値で0埋めできました!
データフレームの数値の文字列を0埋めする(元から文字列の場合)
では次にデータフレームでやってみます。
試しにデータフレームを作ります。
1 2 3 4 |
data = [["1", 10],["20", 20],["300",30]] col_name = ["ID","Value"] df = pd.DataFrame(data=data, columns=col_name) df |
型を確認しましょう。
では列に適用する場合は、strをかませてからzfillをします。
".str "を入れることを忘れないようにしましょう。
1 2 |
df["ID"] = df["ID"].str.zfill(5) df |
これで列に適用されましたね!
データフレームの数値の文字列を0埋めする(元から文字列の場合)
では、最後に列が整数型の場合をやってみます。
1 2 3 4 |
data = [[1, 10],[20, 20],[300,30]] col_name = ["ID","Value"] df = pd.DataFrame(data=data, columns=col_name) df |
整数型のときはまずastypeで文字列に変換しましょう!
1 |
df["ID"] = df["ID"].astype("str") |
そのあとに、zfillをしてやるとOKです!
1 |
df["ID"] = df["ID"].str.zfill(5) |
こんなかんじでデータフレームのカラムの0埋めができました!
-
データサイエンティストとして3年間で3社経験した僕の転職体験談まとめ
こんにちわ、サトシです。33歳です。 今回は、データサイエンティストの3年間に3社で働いた僕が、データサイエンティストとしての転職活動についてまとめて書きたいと思います。 これまでSE→博士研究員→ポ ...