for i, t in enumerate(real_time):
# print(i,t)
temp = []
for j in range(len(lat)):
print(i, t, j)
for k in range(len(lon)):
data = [t, mlon[j, k], mlat[j, k], hurs[i, j, k]]
temp = pd.concat([pd.DataFrame(temp), pd.DataFrame(data).T], axis=0)
df = pd.DataFrame(temp, columns=['date', 'lon', 'lat', 'hurs'])
temp显示有值:
但添加列名后的pd却为nan:
原因分析:
我认为执行df = pd.DataFrame(temp, columns=['date', 'lon', 'lat', 'hurs'])
这句话之前temp已经是dataframe格式,所以columns无法正确添加。
解决方法:
运用如下方法添加列名
temp.columns=['date', 'lon', 'lat', 'hurs']
完整代码如下:
for i, t in enumerate(real_time):
# print(i,t)
temp = []
for j in range(len(lat)):
print(i, t, j)
for k in range(len(lon)):
data = [t, mlon[j, k], mlat[j, k], hurs[i, j, k]]
temp = pd.concat([pd.DataFrame(temp), pd.DataFrame(data).T], axis=0)
temp.columns=['date', 'lon', 'lat', 'hurs']