前提・実現したいこと
Python初心者です。大変初歩的な内容で恐縮ですが、
ご回答いただけると幸いです。
pandasのdataframeを使用して、データの図示や相関分析を行いたいと考えており、
その前処理で質問があります。
具体的には、dataframe内の、あるカラムの値で条件分岐し、別のカラムの値を前のカラムに定数を加えるというものです。
下記質問用のダミーデータセットで説明いたします。
__A B
0 X 0
1 Z 0
2 X 0
3 Y 1
4 X 1
5 Y 2
6 X 2
7 Z 2
A:条件分岐列
B: 値更新用列
内容:
A列がY以外の場合、B列は前の行と同じ値を入れる。
A列がYの場合、B列に前の行の値に「1」加えた値を入れる。
発生している問題・エラーメッセージ
下記のようなコードを書いてみましたが、思うような結果が出ませんでした。
Pandasのdataframeの場合、for文と関数をどう組み合わせて良いかわからなくなってしまいました。
該当のソースコード
df```
import pandas as pd
df = pd.DataFrame({'A': ['X','Z','X','Y','X','Y','X','Z'],
'B': [0, 0, 0, 0, 0, 0, 0, 0]}, index=[0, 1, 2, 3, 4, 5, 6, 7])
for n in df:
def add(n=2):
return df.loc[n,"B"] == df.loc[n-1,"B"]+1
df
### 試したこと 上記のコードを試しました。 iterrowsなども検討しましたが、前の行の結果を参照するということができず、 思うような結果が得られませんでした。 ### 補足情報(FW/ツールのバージョンなど) Python3を使用しています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/01 11:38