來自R
到Python
我似乎無法弄清楚創建新列的一個簡單情況,基於有條件地檢查其他列。根據系列條件創建新的熊貓列
# In R, create a 'z' column based on values in x and y columns
df <- data.frame(x=rnorm(100),y=rnorm(100))
df$z <- ifelse(df$x > 1.0 | df$y < -1.0, 'outlier', 'normal')
table(df$z)
# output below
normal outlier
66 34
嘗試在Python中相當於聲明:
import numpy as np
import pandas as pd
df = pd.DataFrame({'x': np.random.standard_normal(100), 'y': np.random.standard_normal(100)})
df['z'] = 'outlier' if df.x > 1.0 or df.y < -1.0 else 'normal'
但是,下面的異常被拋出: ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
什麼是實現這一目標的Python的方式?非常感謝:)