pandas Python データ分析

【Python】データフレームの情報をfor文を使って1行ずつ置換する

この記事は約2分で読めます。

 

こんにちは、ミナピピン(@python_mllover)です

 

今回はpandasのデータフレームの中身をfor文で1行ずつ置換する方法について紹介したいと思います。

 

スポンサーリンク
スポンサーリンク

データフレームの中身をfor文で1行ずつ置換する

 

import pandas as pd
import numpy as np

matrix = np.random.randn(6,4)
df = pd.DataFrame(matrix, columns=list('ABCD'))
# 3列目の要素を全て0に置換する
for i, row in enumerate(df.itertuples()):
    df.iloc[i, 2] = 0
df

 

他にもreplaceやapply使う方法もあります。ただたまに無名関数を使って処理するとうまく処理できないこととかがあるのでそういうときにはこれでゴリ押すイメージです。

 

ちなみにfor i in range(len(df):~みたいな感じでデータフレームの長さを使ってインデックス呼び出しで一個一個データをコピーして処理すると、数万行とかのデータフレームの場合、メモリがオーバーフローするのでdf.itertuples()で回しましょう。

 

参考記事:

 

<参考書籍>

 

 

 

コメント

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