pandas.DataFrameの値の取得・更新・削除

当ページではpandas.DataFrameの使用方法を記載している。
pandas.DataFrameのデータを作成する方法は、別途以下で記載している。
pandas.DataFrameの表を作成する方法 | エクヌツITブログ

本ページでは、以下のデータをベースのデータとして扱い、そのデータが各作業でどのようになるかを説明する。

import pandas as pd
import numpy as np

df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),
                   columns=['a', 'b', 'c'],index=['d', 'e', 'f'])
print(df)

実行結果:

   a  b  c
d  1  2  3
e  4  5  6
f  7  8  9

1ー1.データの取得

データの取得方法は以下となっている。
なお、データの検索方法は別途以下で記載している。
(現在記載中)

取得内容関数名説明
カラム名の取得_info_axis配列型でカラム名を取得する。
_info_axis[0]と設定している場合は、1つ目のカラム名を取得する。
列名の取得index配列型で列名を取得する。
index[0]と設定している場合は、1つ目の列名を取得する。
データの取得values配列型でデータを取得する。
上記例の場合は以下のようなデータが格納されている。
[[1, 2, 3],[4, 5, 6],[7, 8, 9]]
1行目のデータが欲しい場合はvalues[0]、2行目の2番目のデータが欲しい場合はvalues[1][1]を設定する。

1ー2.実行例

import pandas as pd
import numpy as np

df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),
                  columns=['a', 'b', 'c'],index=['d', 'e', 'f'])
print(df) # 全データ取得
print(df._info_axis) # カラム名取得
print(df._info_axis[0]) # 1つ目の要素のカラム名取得
print(df.index) # 列名取得
print(df.index[0]) # 1つ目の要素の列名取得
print(df.values) # 値の取得

実行結果:

   a  b  c
d  1  2  3
e  4  5  6
f  7  8  9
Index(['a', 'b', 'c'], dtype='object')
a
Index(['d', 'e', 'f'], dtype='object')
d
[[1 2 3]
 [4 5 6]
 [7 8 9]]

2ー1.列の追加・更新・削除

取得内容関数名説明
カラム名の取得_info_axis配列型でカラム名を取得する。
_info_axis[0]と設定している場合は、1つ目のカラム名を取得する。
列名の取得index配列型で列名を取得する。
index[0]と設定している場合は、1つ目の列名を取得する。
データの取得values配列型でデータを取得する。
上記例の場合は以下のようなデータが格納されている。
[[1, 2, 3],[4, 5, 6],[7, 8, 9]]
1行目のデータが欲しい場合はvalues[0]、2行目の2番目のデータが欲しい場合はvalues[1][1]を設定する。

2-2.実行例

import pandas as pd
import numpy as np

df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),
                   columns=['a', 'b', 'c'],index=['d', 'e', 'f'])
print("初期データ") 
print(df) 
df.loc["test"] = [10, 11,12] #データの追加
print("データ追加") 
print(df) 
df.loc["d"]=[100, 101, 102] #列の更新
df.loc["e","c"]=1000 #値の更新
print("データ更新") 
print(df) 
df=df.drop(index=["f"]) #値の削除
print("データ削除") 
print(df) 

実行結果:

初期データ
   a  b  c
d  1  2  3
e  4  5  6
f  7  8  9
データ追加
       a   b   c
d      1   2   3
e      4   5   6
f      7   8   9
test  10  11  12
データ更新
        a    b     c
d     100  101   102
e       4    5  1000
f       7    8     9
test   10   11    12
データ削除
        a    b     c
d     100  101   102
e       4    5  1000
test   10   11    12

3.参考

公式ドキュメント
DataFrameTop
https://pandas.pydata.org/pandas-docs/version/2.3/reference/api/pandas.DataFrame.html
登録・更新(loc)
https://pandas.pydata.org/pandas-docs/version/2.3/reference/api/pandas.DataFrame.loc.html
削除(drop)
https://pandas.pydata.org/pandas-docs/version/2.3/reference/api/pandas.DataFrame.drop.html

表の作成
pandas.DataFrameの表を作成する方法 | エクヌツITブログ
pandasのデータの検索
pandas.DataFlameのデータ検索(loc,iloc,query) | エクヌツITブログ
pandasのカラム追加・削除
pandasのカラム追加・削除(assign・drop) | エクヌツITブログ
pandasのインポート
pandasのインポートread_csv,read_excel | エクヌツITブログ
pandasのエクスポート
pandasデータのエクスポートto_csv,to_excel | エクヌツITブログ
pandasの要素数取得
pandas.DataFrame要素数を取得size,count | エクヌツITブログ

コメント

タイトルとURLをコピーしました