尝试检索成本,如果s['O_Status']值为Closed,使用以下代码
得到这个错误,ValueError:一个Series的真值是模棱两可的。使用a.empty a.bool (), a.item (), a.any()或所有()
.
FClose = [i for i in s['Cost'] if s['O_Status'] == 'Closed']
Cost Year O_Status ----> data frame column name
-------------------------------
6100000 2001 Closed
100004 2009 Operating
2004000 2015 Closed
144007 1999 Operating
也有可能使分类变量值以以下格式关闭和操作到一个新的数据框架中,并存储相对成本值,
Closed Operating ------> data frame column name
--------------------------
6100000 100004
2004000 144007
import io
df = pd.read_csv(io.StringIO('''Cost Year O_Status
6100000 2001 Closed
100004 2009 Operating
2004000 2015 Closed
144007 1999 Operating'''), sep='s+', engine='python')
FClose = df[df['O_Status'] == 'Closed']['Cost'].tolist()
print(FClose)
FOp = df[df['O_Status'] == 'Operating']['Cost'].tolist()
print(FOp)
dfnew = pd.concat([pd.DataFrame(FClose, columns=['Closed']), pd.DataFrame(FOp, columns=['Operating'])], axis=1)
输出Closed Operating
0 6100000 100004
1 2004000 144007