簡體   English   中英

使用.loc在Pandas中進行多選

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM