Pythonの言語は、今ではEXCELでも利用できるようになっています。
EXCELでのPython利用は、基本的にはデータ分析の分野で利用することになるでしょう。
Pythonには、データ分析に役立つ「Pandas」というライブラリがあります。
これまでにも概要をまとめた記事(リンク)がありますが、「データフレーム」という形で「データ」を扱えるのが特徴です。
今回は「Pandas」の中でも、データの削除、「行」「列」の追加を行うメソッドについて、まとめようと思います。
データの抽出
以下のメソッドでは、指定した行または列を削除します。
コードサンプル:
import pandas as pd
# データフレームを定義
data = {‘名前’: [‘田中’, ‘鈴木’, ‘佐藤’, ‘山田’],
‘年齢’: [25, 30, 22, 25],
‘出身’: [‘東京’, ‘神奈川’, ‘静岡’, ‘大阪’]}
df = pd.DataFrame(data, index=[‘A’, ‘B’, ‘C’, ‘D’])# 「C」行(「佐藤」に紐づくデータ)を削除
del_index = df.drop(index=[‘C’])
print(‘「C」行(「佐藤」に紐づくデータ)を削除’)
print(del_index)
print(”)# 「年齢」列を削除
del_columns = df.drop(columns=[‘年齢’])
print(‘「年齢」列を削除’)
print(del_columns)
実行結果:
名前 年齢 出身
A 田中 25 東京
B 鈴木 30 神奈川
D 山田 25 大阪名前 出身
A 田中 東京
B 鈴木 神奈川
C 佐藤 静岡
D 山田 大阪
新しい列の追加
以下のメソッドでは、最終列に新規で列を追加します。
全ての行に対し、個別の値を設定して、列を追加したい場合に適しています。
全ての初期値を統一したものを設定する場合は、assign()を使用せずに「df[‘列名’] = ‘初期値’」と記載することで対応できます。
コードサンプル:
import pandas as pd
# データフレームを定義
data = {‘名前’: [‘田中’, ‘鈴木’, ‘佐藤’],
‘出身’: [‘東京’, ‘神奈川’, ‘静岡’]}
df = pd.DataFrame(data)# 「年齢」列を追加
new_df = df.assign(年齢 = [25, 30, 22])
print(new_df)
実行結果:
名前 出身 年齢
0 田中 東京 25
1 鈴木 神奈川 30
2 佐藤 静岡 22
新しい行の追加・上書き
以下のインデクサを用いることで、任意の位置に新規で行を追加します。
ただし、指定したインデックスが既存のものと重複している場合、その行が上書きの処理になります。
コードサンプル:
import pandas as pd
# データフレームを定義
data = {‘名前’: [‘田中’, ‘鈴木’, ‘佐藤’],
‘年齢’: [25, 30, 22],
‘出身’: [‘東京’, ‘神奈川’, ‘静岡’]}
df = pd.DataFrame(data)# インデックス4に新しい行を追加
df.loc[4] = [‘山田’, 25, ‘大阪’]
print(‘インデックス3を追加’)
print(df)# インデックス3に新しい行を追加
df.loc[2] = [‘斎藤’, 20, ‘埼玉’]
print(‘\nインデックス2を上書き追加’)
print(df)
実行結果:
インデックス3を追加
名前 年齢 出身
0 田中 25 東京
1 鈴木 30 神奈川
2 佐藤 22 静岡
4 山田 25 大阪インデックス2を上書き追加
名前 年齢 出身
0 田中 25 東京
1 鈴木 30 神奈川
2 斎藤 20 埼玉
4 山田 25 大阪
- df.loc[row_label, column_label]
- row_label: 行のラベルまたは条件(例: インデックス番号、ラベル、条件式など)。
- column_label: 列のラベルまたはラベルのリスト。
まとめ
今回は、Pythonで扱えるライブラリの「Pandas」のメソッドについてまとめてみました。
他にも多くのメソッドが存在するため、複数の記事に渡って解説しています。
他の記事も、ぜひ参考にしてみて下さい。