1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

python pandas

Last updated at Posted at 2025-01-21

Pandasまとめ

ファイルの読み込み

.py
import pandas as pd
df = pd.read_excel("data.xlsx")

カラム名を指定してインデックスに使用

.py
df = pd.read_excel("data.xlsx", index_col="ユーザID")

シート名を指定

.py
df = pd.read_excel("data.xlsx", sheet_name="Sheet1")

CSVやJSON等でも読み込める

.py
df = pd.read_csv("data.csv")
df = pd.read_json("data.json")

カラム名を取得

.py
df.columns

例:Index(['会社名', '商品名', '単価', '数量', '売上'], dtype='object')

行名を取得

.py
# 行名
df.index

例:RangeIndex(start=0, stop=10, step=1)

特定のカラムを取得する

.py
df["カラム名"]

データ型を取得する

.py
df.types

サイズを取得する

.py
df.shape

先頭の行を取得する

.py
df.head

ちなみに引数に数字を指定すると、その指定した数分取得することができる

.py
# 先頭から3行取得する
df.head(3)

末尾の行を取得する

.py
df.tail
# headと同じく引数を設定
df.tail(3)

loc

locを使用することで行や列を指定してデータを取得することができる

基本形

.py
df.iloc[行番号, 列の名前]

行番号と列の名前を指定

.py
# 1列目と2列目の名前と年齢を取得する例
df.loc[[1, 2], ["名前", "年齢"]]

コロンを使用することで範囲指定も可能

以下は1行目から3行目と名前から年齢までを取得する例

.py
df.loc[1:3, "名前":"年齢"]

条件を指定

条件を再度、dfで囲む

.py
df[df["年齢"] > 30]

queryでも可能

.py
df.query('年齢 > 30')

かつ条件を指定

.py
df[(df["年齢"] > 30) & (df["名前"] == "高橋")]

queryでも可能

.py
df.query('年齢 > 30 & 名前 == "高橋"')

または条件を指定

.py
df[(df["年齢"] > 30) | (df["名前"] == "高橋")]

## ユニークな値を取得
```.py
df['名前'].unique()

重複削除

全て一致の場合は引数が必要ないが、そうでない場合はセットする

.py
df.drop_duplicates(subset='名前')

全ての行や列を取得

.py
df.loc[:, :]

iloc

ilocを使用することで行や列をインデックスで指定してデータを取得することができる

基本形

.py
df.iloc[要素番号インデックス, 要素番号インデックス]

行と列を取得

値の指定がややこしい。。。

.py
# 5行目から10行目と2列目から5列目まで取得
data_frame.iloc[[4:10], [2, 6]]

統計量を調べる

numberic_only=Trueを指定することで数値のみの列を取得することができる

.py
data_frame.mean()
data_frame.median()
data_frame.max()
data_frame.min()
data_frame.sum()

列単位で演算・加工

.py
data_frame["年齢"] + 10
data_frame["年齢"] * data_frame[""]
data_frame["新しい列"] = data_frame["年齢"] + 10
data_frame["新しい列"] = data_frame["名前"] + "さん"

pd.DataFrame([1, 2, 3, 4, 5], columns=["col1", "col2", "col3", "col4", "col5"], index=["a", "b", "c", "d", "e"])

まとめ

以上がpandasを使った基本的な操作になります!
ただ、自分は複雑な操作をしたことがないので、「これも便利だよ〜」とかあればぜひ教えていただけると嬉しいです🙌

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?