1
フィルタリングされたデータセットのカラムの割り当てには.loc
を正常に使用しましたが、今度は2つのフィルタでデータセットをフィルタリングし、次のエラーが発生する必要があります。私はフィルタリングのように&
演算子を使用しようとしています。.locを使用したパンダでのマルチセレクション
TypeError: cannot compare a dtyped [object] array with a scalar of type [bool]
コード:
import pandas as pd
df = pd.DataFrame(data=[['Arlington', 'MA'],
['Arlington', 'TX'],
['Dallas', 'TX']],
columns=['City', 'State'])
df.loc[(df['State'] == 'TX' & df['City'] == 'Arlington'), 'New Column'] = 10
print df
所望の出力:
City State New Column
0 Arlington MA NAN
1 Arlington TX 10
2 Dallas TX NaN
あなたは '(df ['State'] == 'TX')&(df ['City'] == 'Arlington')'として比較をかっこにする必要があります。 – BrenBarn
@BrenBarn、ありがとう、ありがとう。なぜ私はベストアンサーとして受け入れることができるように答えとして投稿しないのですか? – user2242044
あなたは ''フィルタリングだけの場合と同じように '& '演算子を使用していないことに注意してください。あなたは条件を使用して割り当てようとするのではなく、同じエラーを表示します。 – BrenBarn