我正在使用 pandas,并且一直堅持為 2012 年和 2015 年以及“團隊”TOR 和 NYA 制作一個新的 DataFrame。我已經匯入了一個 .csv 檔案,這就是我想要呼叫 2012 年和 2015 年并將它們放入單個 DataFrame 的地方。
df_2012 = pd.DataFrame(df_baseball[(df_baseball['Year '] == 2012) &
(df_baseball['Year '] == 2015) &
(df_baseball['Team '] == 'TOR') &
(df_baseball['Team '] == 'NYA')],
columns = ['Games_Won', 'Runs_Scored','At_Bats','Hits',
'Doubles','Triples','Home_Runs','Walks',
'Runs_Against','Earned_Runs',
'Earned_Run_Average','Complete_Games',
'Shutout','Saves','Infield_Put_Outs',
'Hits_Allowed','Home_Run_Allowed',
'Walks_Allowed','Strikeouts_Allowed',
'Errors','Fielding_Percentage'])
我使用了錯誤的運算子還是我的語法錯誤?非常感謝您的回復!
uj5u.com熱心網友回復:
您需要 OR 運算子,因為一年不能同時是 2012 年和 2015 年;同樣,一個團隊不能同時是 TOR 和 NYA。您也可以使用isin, 而不是在每個條件之間寫 OR。
此外,由于isin(或 OR)創建了一個可用于 filter 的布爾掩碼,因此您df_baseball不需要將結果傳遞給 DataFrame 建構式,因為切片結果將是一個 DataFrame,因此以下內容就足夠了:
df_2012 = df_baseball[df_baseball['Year '].isin([2012, 2015]) & df_baseball['Team '].isin(['TOR','NYA'])]
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/434034.html
上一篇:在串列中按行計算NaN值
