我尝试使用 if-else 条件在数据集中插入缺失的数据行序列,并将数据集的完整行计数附加到新列表中。
尝试使用多个 if-else 条件和嵌套 if-else 条件来实现预期输出,但无法获得正确的数据集预期输出。
是否有其他选项可以在不使用 if-else 条件或嵌套 if-else 条件的情况下实现预期输出?
我的代码如下:
year = 2016
month = 2
day = 3
rainAmount = 0.2
rainList = []
for y in range(2015,2017):
if y == year:
for m in range(1,3):
if m == month:
for d in range(1,4):
if d == day:
newRain = rainAmount
else:
newRain = 0
rainList.append([y,m,d,newRain])
for r in rainList:
print(r)
预期输出:
[year,month,day,newRain]
[2015,1,1,0]
[2015,1,2,0]
[2015,1,3,0.2]
[2015,2,1,0]
[2015,2,2,0]
[2015,2,3,0.2]
[2016,1,1,0]
[2016,1,2,0]
[2016,1,3,0.2]
[2016,2,1,0]
[2016,2,2,0]
[2016,2,3,0.2]
实际输出:
[2016,2,1,0]
[2016,2,2,0]
[2016,2,3,0.2]
最佳答案
您可以使用列表理解来做到这一点。
result = [[y, m, d, 0.2 if d == 3 else 0 ] for y in range(2015,2017) for m in range(1,3) for d in range(1,4)]
for i in result:
print(i)
输出
[2015, 1, 1, 0]
[2015, 1, 2, 0]
[2015, 1, 3, 0.2]
[2015, 2, 1, 0]
[2015, 2, 2, 0]
[2015, 2, 3, 0.2]
[2016, 1, 1, 0]
[2016, 1, 2, 0]
[2016, 1, 3, 0.2]
[2016, 2, 1, 0]
[2016, 2, 2, 0]
[2016, 2, 3, 0.2]
关于python - 如何使用 if-else 条件在数据集中插入缺失的行序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57174693/