PythonのDataFrameで行や列を追加する方法

スポンサーリンク
この記事は 約6 分で読めます。
今回は、PythonのDataFrameで行や列を挿入する方についてご紹介します。
なつめ
なつめ

本記事は「ある程度他のプログラミング言語の経験はあるけど、あまりPythonは使ったことがない人を対象としたチートシート」です。私自身の備忘録的な感じでまとめています。

他にもPythonのおすすめ記事をこちらにまとめました。

なつめ黒猫
なつめ黒猫

星の数は記事で紹介しているプログラミングの難易度を示しているよ。自分のレベルに合わせて読んでみてね。

また、Pythonなどのプログラミングを本格的に勉強したのであれば、オンラインでも受講可能な「TECH  ACADEMY」がオススメです。

専属のアドバイザーがついてくれるので、短期集中で必要なプログラミング技術を身に着けることができます。

なつめ黒猫
なつめ黒猫

「TECH ACADEMY」よるスキルアップで、もう一段上のエンジニアへステップアップしましょう!

理系王子
理系王子

また、AI開発や人工知能アプリに特化してもっと勉強したい人、AIエンジニアの資格取得や転職にチャレンジしてみたいという方には、Aidemyがおすすめです。こちらの記事で詳しく解説しています。

 

人工知能AIやpythonプログラミングを初心者でも学べるオンライン学習Aidemyの評判
人工知能AIに特化したオンラインのプログラミングスクール「Aidemy」プレミアムの評判や口コミ、Python言語を使った学習内容や実際に作るAIアプリ例、他のスクールとの受講料や期間を比較して、分かりやすくご紹介します。

また、AIで転職したい人はこちらの記事もおすすめです。

高収入なAIエンジニアに転職するならPythonが有利な4つの理由
AIエンジニアに転職するならプログラミング言語「Python」を勉強した方が有利な理由をご紹介しています。
AIエンジニアの求人がさらに好待遇になる4つの理由
AIエンジニアが好待遇で求人される理由についてご紹介します。
スポンサーリンク

PythonでDataFrameに列を挿入する方法

import pandas as pd
df = pd.DataFrame({'name': ['jon','sam','jane','bob'],
'age': [30,25,18,26],
'sex':['male','male','female','male']})

# print(df)
#     name  age     sex
# 0   jon   30    male
# 1   sam   25    male
# 2  jane   18  female
# 3   bob   26    male

# 列の挿入
df.insert(0,'height',0)

# print(df)
#    height  name  age     sex
# 0       0   jon   30    male
# 1       0   sam   25    male
# 2       0  jane   18  female
# 3       0   bob   26    male
なつめ黒猫
なつめ黒猫

insertメソッドを使うと列を新規に追加できるよ。

スポンサーリンク

PythonでDataFrameの先頭に行を挿入する方法

import pandas as pd
df = pd.DataFrame({'name': ['jon','sam','jane','bob'],
'age': [30,25,18,26],
'sex':['male','male','female','male']})

# print(df)
#     name  age     sex
# 0   jon   30    male
# 1   sam   25    male
# 2  jane   18  female
# 3   bob   26    male

# 先頭に行を挿入
df.loc[-1] = ['45', 'Dean', 'male']  # adding a row
df.index = df.index + 1  # shifting index
df.sort_index(inplace=True)

#    name   age     sex
# 0    45  Dean    male
# 1   jon    30    male
# 2   sam    25    male
# 3  jane    18  female
# 4   bob    26    male
なつめ黒猫
なつめ黒猫

locで行を追加する方法です。
ただし、indexを指定しているとうまく追加できません。

スポンサーリンク

concatで結合して、行を追加する方法

import pandas as pd
df = pd.DataFrame({'name': ['jon','sam','jane','bob'],
'age': [30,25,18,26],
'sex':['male','male','female','male']})

data = []
data.insert(0, {'name': 'joe', 'age': 33, 'sex': 'male'})

pd.concat([pd.DataFrame(data), df], ignore_index=True)

# name  age     sex
# 0     joe     33      male
# 1     jon     30      male
# 2     sam     25      male
# 3     jane    18      female
# 4     bob     26      male
なつめ黒猫
なつめ黒猫

複数行を追加する場合は、concatで結合した方が早いかもしれないね。

スポンサーリンク

まとめ

今回は、DataFrameで行と列を追加する方法についてまとめました。

  • 列の追加は、insertメソッド
  • 行の追加は、locで先頭に挿入またはconcatによる結合

 

Pocket

コメント