Pandas - Hinzufügen einer Spalte basierend auf mehreren Bedingungen [Duplikat]Python

Python-Programme
Anonymous
 Pandas - Hinzufügen einer Spalte basierend auf mehreren Bedingungen [Duplikat]

Post by Anonymous »

Versuchen Sie, einem DF eine booleale Spalte hinzuzufügen, die auf zwei gegenseitig ausschließlichen Bedingungen basiert: < /p>


[*]

Code: Select all

df['Type'] == 'CMBX'
df['SubType'].isin(['EM','NAHY'])< /code> < /li>
< /ol>

Sie funktionieren separat < /p>

df['Px Quoted'] = np.where(df['Type'] =='CMBX', True, False)
df[df['Type']=='CMBX'].head(5)
Out[72]:
Batch Type SubType Px Quoted
0 NaN CMBX True
1 NaN CMBX True
2 NaN CMBX True
3 NaN CMBX True
4 NaN CMBX True
< /code>

oder < /p>

df['Px Quoted'] = np.where(df['SubType'].isin(['EM','NAHY']), True, False)

df[df['SubType']=='EM'].head(5)
Out[74]:
Batch Type SubType Px Quoted
21 NY1530 CDX EM True
29 NY1530 CDX EM True
36 NY1530 CDX EM True
43 NY1530 CDX EM True
50 NY1530 CDX EM True
< /code>

, aber das folgende ist nicht < /p>

df['Px Quoted'] = np.where(df['Type'] =='CMBX' or df['SubType'].isin(['EM','NAHY']), True, False)

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
< /code>

Ich bin mir nicht sicher, warum es mehrdeutig ist, da CMBX nicht mehr von Subtypen enthalten ist ['em', 'nahy'] < /code> irgendwelche Ideen? Liegt das, weil sein Subtyp leer ist?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post