前提・実現したいこと
発生している問題・エラーメッセージ
以下に示したようなfor文を用いればコードを書けるのですが、実際に使用したいデータフレームは数十万行なので、for文を使わずにコードを書きたいと考えています。
該当のソースコード
python
1for i in range(len(df)): 2 if i==0: 3 continue 4 if df["name"].iloc[i] == df["name"].iloc[i-1]: 5 df["number"].iloc[i] = df["number"].iloc[i-1].copy() 6 else: 7 df["number"].iloc[i] = df["number"].iloc[i-1].copy()+1 8
以下にデータフレーム用のコードも載せておきます
PYTHON
1import pandas as pd 2df1 = pd.DataFrame({"name": ["a","a","b","b","b","c","d","d"], 3 "number": [1,0,0,0,0,0,0,0]}) 4 5df2 = pd.DataFrame({"name": ["a","a","b","b","b","c","d","d"], 6 "number": [1,1,2,2,2,3,4,4]}) 7
試したこと
上記のコードを試しましたが、やはり実行時間が長く終わりません。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/08 12:34