尝试检索成本,如果 s['O_Status'] 值为 Closed,则使用以下代码。
<块引用>得到这个错误,ValueError:一个系列的真值不明确。 使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()
.
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
答案 0 :(得分:0)
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