[英]Multselecting in Pandas using .loc
我已成功使用.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')
。 在Python中,像&
一樣的按位運算符比比較運算符(如==
&
具有更高的優先級。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.