🗒️

【Python】DataFrame/Seriesの操作

2021/03/17に公開

index, columns

インデックス名、列名を割り当てる。

df.index = ['01', '02', '03']
df.columns = ['A', 'B', 'C']

drop()

行、列を削除する。

# 行を削除
df_2 = df.drop([0, 1])
# または
df_2 = df.drop(index=[0, 1])

# 列を削除
df_2 = df.drop(['A', 'B'], axis=1)
# または
df_2 = df.drop(columns=['A', 'B'])

# inplace=Trueで、実行したオブジェクトそのものから削除される。(破壊的処理)
df.drop(columns=['A', 'B'], inplace=True)

DataFrameでループを回す

# 行ごと
for index, sr_row in df.iterrows():
    # 処理・・・

# 列ごと
for label, sr_col in df.iteritems():
    # 処理・・・

Seriesでループを回す

# 要素でループ
for item in sr:
    # 処理・・・

# インデックス名でループ
for index in sr.index:
    # 処理・・・

カラム名を0始まりの連番に振り直す。

sh = df.shape
df.columns = range(sh[1])

インデックスを0始まりの連番に振り直す。

df_2 = df.reset_index(drop=True)

# inplace=Trueで、実行したオブジェクトそのものから削除される。(破壊的処理)
df.reset_index(drop=True, inplace=True)

※ drop=Trueにしないと、振り直す前のインデックスが新たな列として追加されていまう。

Discussion