
今回は、PythonのDataFrameで行や列を挿入する方 法についてご紹介します。

なつめ
本記事は「ある程度他のプログラミング言語の経験はあるけど、あまりPythonは使ったことがない人を対象としたチートシート」です。私自身の備忘録的な感じでまとめています。
他にも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による結合
コメント