前提
pythonのpandas で質問です。
diffを使えばいいのか、for文で一時保存すべきなのか、選択が良くわかりません。
データは100000×1000行くらいのExcelです。
実現したいこと
- C列の差分を表すD列を新規追加したい。
A B C
0 0 "い” 210
1 1 "い” 210
2 2 "い” 211
3 3 "い” 211
4 4 "い” 212
5 0 "ろ" 1
6 1 "ろ" 1
7 2 "ろ" 1
8 3 "ろ" 1
9 4 "ろ" 1
10 5 "ろ" 2
11 0 "は" 0
12 1 "は" 0
13 2 "は" 1
B列には文字列が入っています。文字列ごとの処理を考えています。
A列には、B列の文字列ごとに0から通し番号が振られています。
C列はカウンターになっており、必ず昇順になっています。
そこに、Cの相対的な値であるであるD列を追加したいです。
A B C D
0 0 "い” 210 0 →A列が0の時のCの値を基準(0)とし、以降の数字を整理した列Dを追加する
1 1 "い” 210 0
2 2 "い” 211 1
3 3 "い” 211 1
4 4 "い” 212 2
5 0 "ろ" 1 0
6 1 "ろ" 1 0
7 2 "ろ" 1 0
8 3 "ろ" 1 0
9 4 "ろ" 1 0
10 5 "ろ" 2 1
11 0 "は" 0 0
12 1 "は" 0 0
13 2 "は" 1 1
発生している問題・エラーメッセージ
diffを使おうと思ったのですが、定数以外を使う方法がわかりませんでした。
試したこと
・diffを使って、A列分上の行との差分をとろうとした
・df.locとfor文を使ってA列が0の時の値を保持しておきたかったが、A列には0の重複があるのでできなかった

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/11/17 11:10