1.前提・実現したいこと
文字が切り替わったところで切り替わったことを示すフラグを立てたい。
2.発生している問題・エラーメッセージ
ーーーー
df = pd.DataFrame({
'type': ["A", "A", "A", "A", "B", "B", "B", "A"]})
print(df)
print(df.dtypes)
ーーーー
(出力)
type
0 A
1 A
2 A
3 A
4 B
5 B
6 B
7 A
type object
dtype: object
こういったデータ(もともとはCSVなのですが)について、typeの列の隣に列を追加して、そこに「1」を立てたいです。
そこで以下の通り記載しています。
ーーーー
df["change"] = 0
i = 0
df_len = len(df)
for i in range(df_len-1):
if df.iat[i+1, 0] != df.iat[i, 0]:
df.iat[i+1, 1].replace(0, 1)
else:
pass
df
ーーーー
(出力:エラーメッセージ)
AttributeError Traceback (most recent call last)
<ipython-input-122-c7087006c35d> in <module>
4 for i in range(df_len-1):
5 if df.iat[i+1, 0] != df.iat[i, 0]:
----> 6 df.iat[i+1, 1].replace(0, 1)
7 else:
8 pass
AttributeError: 'numpy.int64' object has no attribute 'replace'
ここのエラーがなんだか解決できないです。。
出力イメージとしては以下を想定しています。
(出力)
type change
0 A 0
1 A 0
2 A 0
3 A 0
4 B 1
5 B 0
6 B 0
7 A 1
簡単なことなのかもしれませんが、初心者につきお知恵をお借りできると幸いです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2022/01/25 01:41