根据布尔条件列表创建一个熊猫数据框

时间:2020-08-17 16:15:55

标签: python pandas

我有一个数据框:

     Tkl  Def_Int   Sk                 College  Height (in)
0      NaN      NaN  NaN           Florida State        76.00
1      NaN      NaN  NaN                  Oregon        75.75
2     16.0      NaN  2.5                 Florida        74.63
3      NaN      NaN  NaN                 Alabama        72.88
4      NaN      NaN  NaN                    Iowa        76.63
...    ...      ...  ...                     ...          ...
5638   NaN      NaN  NaN            Georgia Tech        75.80
5639   NaN      NaN  NaN  Middle Tennessee State        72.00
5640   NaN      NaN  NaN               Minnesota        73.90
5641   NaN      NaN  NaN                Kentucky        73.50
5642   NaN      NaN  NaN           West Virginia        71.10

我想基于“学院”(College)列的布尔条件创建一个新列。如果我的名单中有任何一所大学,则第五次幂为“ True”,否则,该行为“ False”。我收到“值错误:长度必须匹配才能比较”的代码,这是下面的代码:

df['Power_five'] = df[df['College']==['Illinois',
'Indiana',
'Iowa',
'Maryland',
'Michigan',
'Michigan State',
'Minnesota',
'Nebraska',
'Northwestern',
'Ohio State',
'Penn State',
'Purdue',
'Rutgers',
'Wisconsin','Arkansas',
'LSU',
'Florida',
'Georgia', 
'Tennessee', 
'Auburn',
'Texas A&M',
'Kentucky', 
'Alabama', 
'Vanderbilt', 
'South Carolina', 
'Missouri', 
'Mississippi',
'Mississippi State','Kansas', 'Oklahoma','Texas', 
'Kansas State', 'Oklahoma State', 'Iowa State', 'Baylor', 'Texas Christian', 'Texas Tech', 
'West Virginia','Arizona',
'Arizona State', 
'Colorado',
'Oregon',
'Stanford',
'UCLA',
'USC',
'Washington',
'Washington State',
'Colorado State',
'Utah',
'Oregon State',
'Boston College',
'Clemson',
'Duke',
'Florida State',
'Georgia Tech',
'Louisville',
'Miami',
'North Carolina',
'NC State',
'Wake Forest',
'Syracuse',
'Pittsburgh',
'Virginia',
'Virginia Tech',
'Notre Dame'
                            ]]

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

尝试一下:

df['Power_five'] = df['College'].isin(['Illinois', 'Indiana', ...])