【发布时间】:2020-04-30 06:38:47
【问题描述】:
我有一个数据框,它有四列,即范围、天气、标志和计算。我需要从三个列表中获取三列(范围、天气和标志)的组合,并检查组合是否不存在然后这三列在数据框中添加新行。
range weather flag calculation
0-5 good y 12
5-6 good n 14
0-5 bad n 2
5-6 worse y 5
输出如下:
range weather flag calculation
0-5 good y 12
0-5 bad n 2
0-5 good n null
0-5 worse n null
0-5 bad y null
0-5 worse y null
5-6 good n 14
5-6 worse y 5
5-6 bad n null
5-6 worse n null
5-6 bad y null
5-6 good y null
我试过的代码如下:
r=['0-5','5-6']
w=['good','bad','worse']
f=['n','y']
for i in r:
for j in w:
for k in f:
if i in data1['range'].values and j in data1['weather'].values and k in data1['flag'].values:
print(i,j,k)
print("yes")
else:
print(i,j,k)
print("no")
data1=data1.append([{'bl_flag':j},{'weather_status':k}], ignore_index=True)
print(data1)
上述代码不会检查所有 3 个组合是否存在于一行中,如果它不存在于一行中,则必须将其附加到数据框中。
【问题讨论】:
标签: python-3.x pandas list dataframe append