はじめに
コジマです。
やりたいと思った操作をできるようになるために覚えたことはこのように溜め込んでいくのがコジマスタイル。
今回はPandasで作ったDataFrameに列と行を追加していきたいと思います。
ポイント
df[“新しいカラム名”] = [初期値]
初期値は1つまたは行数分必要です。1つの場合は全ての行に同じ値が入り、行数分の場合は行のindexに対応した値が入ります。
行を作る
- Seriesで一行分のデータを作成
- appendで挿入
- appendにはignore_indexオプションをつける
ignore_indexオプションをつけないとindex列が余計にできてエラーとなってしまいます。
短いサンプルソース
# モジュールのインポート import numpy as np import pandas as pd # データフレームの作成 df = pd.DataFrame([ ["Suzuki", 70, 60], ["Tanaka", 50, 75], ["Kojima", 100, 99] ], columns=["Name", "English", "Math"] ) # カラムの追加 # 国語(Japanese)の追加 df["Japanese"] = [50,60,70] # 行の追加 # Yoshidaさんの成績を追加(Seriesで作る) df2 = pd.Series(["Yoshida", 80, 60,65], index=df.columns) # ignote_indexしないとエラーになる df3 = df.append(df2, ignore_index=True)
最初にできたデータ
Name | English | Math | |
---|---|---|---|
0 | Suzuki | 70 | 60 |
1 | Tanaka | 50 | 75 |
2 | Kojima | 100 | 99 |
カラム追加後のデータ
Name | English | Math | Japanese | |
---|---|---|---|---|
0 | Suzuki | 70 | 60 | 50 |
1 | Tanaka | 50 | 75 | 60 |
2 | Kojima | 100 | 99 | 70 |
行追加後のデータ
Name | English | Math | Japanese | |
---|---|---|---|---|
0 | Suzuki | 70 | 60 | 50 |
1 | Tanaka | 50 | 75 | 60 |
2 | Kojima | 100 | 99 | 70 |
3 | Yoshida | 80 | 60 | 65 |
さいごに
Pandasを使って行と列を挿入することができました。
また操作を覚えたら適宜更新!
この記事を面白いまたは役に立ったと思ってくれた方は是非私のTwitter(@kojimanotech)を
フォローしてくれたらうれしいです!
もっと学びたい人はこちら
Python、機械学習をもっと学びたいという人のためにおすすめのUdemy講座を紹介いたします!
Pythonの基本文法を押さえたい方はこちらの動画がおすすめです。
エンジニアになりたいと思って駆け出した方がPythonを選んだときはこの講座から始めるとよいと思います。
Python 3 エンジニア認定基礎試験の対策にもなります。
はじめてのPython 少しずつ丁寧に学ぶプログラミング言語Python3のエッセンス
プログラムの基礎が分かる方で機械学習に興味がある方はこちらがおすすめです。
SIGNATEという日本版Kaggleのサービスを実際に使用してハンズオン形式でデータ分析・機械学習を学ぶことができます。
もちろんこの動画だけで特級のデータサイエンティストになれるわけではないですが、機械学習の門を叩くにはとても良い講座だと思います。
【ゼロから始めるデータ分析】 ビジネスケースで学ぶPythonデータサイエンス入門
Pythonのライブラリで必ず押さえておきたいのがNumpy, Pandas, Matplotlibの3つ。
この3つを網羅的に学ぶことができる講座です。
英語の講座ですが、わかりやすい英語ですし、ソースコードメインで解説しているので
ソースコードを一緒に手を動かしながら学べば十分理解することができます。
機械学習を使わない人にもおすすめの講座です。
2021 NumPy, Pandas and Matplotlib A-Z™: for Machine Learning
気になった人はぜひ見てみてくださいね!
以上、コジマでした。