LoginSignup
22
25

More than 5 years have passed since last update.

pythonのdataframe カラム毎にまるごと型変換

Posted at

dataframeの型変換を考える

それ程、需要は多くないと思いますが、、、、、、。
環境はanacondaで動かすことを想定しています。
pythonでdataframeにcsv等をインポートした際に型を変更したい場合があると思います。
値をひとつづつ取り出して型を変換して入れ直すという手もありますがそれでは大変です。
できればカラム毎まとめて変換したいと思います。
例えば下記のテーブルがあるとしてこのcsvデータを取り込んだと仮定します。

name age birthday
johan 21 1999-01-01
maria 22 1999-01-02
johan 23 1999-01-03

数字 → 文字列に変換

あまり需要はないと思いますが数字から文字列に変換してみたいと思います。

import pandas as pd
import datetime

test_data = pd.read_csv("test.csv")
type(test_data['age'][0])
test_data['age'] = test_data['age'].astype('str')
age = test_data['age'][0]
type(ages[0])

データフレームではキャストしてくれていてageのカラムはint型になっていると思います。
その後にastypeを使って列ごとキャスト型を変換しています。
これだけだと正直あんまり使いみちが無いなと思います。

日付のデータをタイムスタンプにする

先ほどのデータの日付のデータを見てみます。
文字列型になってしまっていると思います。
これだとデータとして扱いにくいと思うのでタイムスタンプに変換して見ます。

type(test_data['birthday'][0])
test_data['birthday'] = pd.to_datetime(test_data['birthday'])
type(test_data['birthday'][0])

最後に

データフレームのカラムごと型を変換して見たいと思い調べたまとめでした。

22
25
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
22
25