【发布时间】:2019-08-13 05:44:13
【问题描述】:
我的数据框如下所示:
mid price dse_high_born
0 0.002039 False
1 0.002039 False
2 0.002039 False
3 0.002039 False
4 0.002039 False
5 0.002038 False
6 0.002039 True
7 0.002037 False
8 0.002037 False
9 0.002037 False
10 0.002036 False
11 0.002036 False
12 0.002038 False
13 0.002038 False
14 0.002038 False
15 0.002038 False
16 0.002039 False
17 0.002039 False
18 0.002040 False
19 0.002040 False
20 0.002040 False
21 0.002039 False
22 0.002039 False
23 0.002039 False
24 0.002040 True
25 0.002040 False
26 0.002041 False
27 0.002041 False
28 0.002041 False
29 0.002042 False
30 0.002044 False
31 0.002049 True
32 0.002049 False
33 0.002048 False
... ...
我尝试使用 for 循环根据以下条件添加新列 price:
for index, row in df.iterrows():
if df['dse_high_born'] == True:
df.at[index,'price'] = row['mid price']
else:
df.at[index,'price'] = 'nan'
我收到以下错误:The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
我尝试了所有组合(使用 bool()、any()、item() 等),但是当我执行以下请求时 df[df['price'] != 'nan'] 在这种情况下我的数据框中没有任何内容,知道为什么吗?谢谢!
【问题讨论】: