これまでに続き、Pythonのツール作成時に実際に起きた困ったことをまとめてみました。
今回は以下についてです。
・dateframeの結合で発生したエラー
・query後のforループでのミス
①dateframeの結合で発生したエラー
二つのdateframeの結合を行うため、以下のように記載したところ、エラーとなり処理が止まりました。
df1 = pd.contact([df1,df2])
以下のように修正したところ動きました。
df3 = pd.contact([df1,df2])
原因を調べましたが具体的な理由は出てこなかったため予想になりますが
代入先に結合するdateframeを指定することはできないようです。
②query後のforループでのミス
query後にforループで特定列を処理しようとするも、該当のindexがなく想定した処理となりませんでした。
df2 = df1.query( '抽出条件' )
chk = 'NG'
for index, row in df2.iterrows():
if index == 1:
chk = 'OK'
print( chk )
調査したところ、query後のdf2のindexはdf2のindexのままであり、抽出条件によりindex = 1のデータが抽出されていないとif条件後の処理がされません。
事前にreset_indexをしてインデックスを振り直したら想定した処理となりました。