Python 只有最后一行被添加到dataframe
我试图从JSON web响应中提取一些数据,在我的for循环中,通过数据,我想要的数据被打印出来。但是当我打印df.head()时,它缺少一些行Python 只有最后一行被添加到dataframe,python,pandas,Python,Pandas,我试图从JSON web响应中提取一些数据,在我的for循环中,通过数据,我想要的数据被打印出来。但是当我打印df.head()时,它缺少一些行 modules = i['modules'] for j in modules: row2 = pd.DataFrame([j['dashboard_data']]) row2['ID'] = j['_id'] row2.rename(columns={"Temperature":"temp_outside", "Hum
modules = i['modules']
for j in modules:
row2 = pd.DataFrame([j['dashboard_data']])
row2['ID'] = j['_id']
row2.rename(columns={"Temperature":"temp_outside", "Humidity": "humidity_outside"}, inplace=True)
print(row2)
row2.head(5)
输出来自打印(第2行)
row2.head的输出(5)
我原以为第2行有3行。头(5),但我只得到1行
下面是一个链接,指向响应外观的示例
我成功了。感谢:)可能打印结果来自循环的不同迭代,而在最后一个循环中只有一行。在您的评论之后,我尝试将第2行附加到另一个数据帧中(在循环中,与打印位置相同),然后打印该数据帧。威奇空手而归。你能详细说明一下吗?我显然很愚蠢:pI建议您在enumerate(modules):中将i,j的循环更改为
,并在循环的第一行添加一行print(i)
,这样您就可以知道每一行来自哪个迭代。噢,谢谢!)至少我现在知道在每次迭代中打印什么了。所以这很重要。我会在这里再弄一些
time_utc temp_outside humidity_outside min_temp max_temp \
0 1571909773 11.5 72 8.2 11.5
date_max_temp date_min_temp temp_trend ID
0 1571909773 1571868001 up 00:00:00:0f:00:f0
time_utc Rain sum_rain_1 sum_rain_24 ID
0 1571909805 0 0 0 00:00:00:00:0d:0c
time_utc WindStrength WindAngle GustStrength GustAngle max_wind_str \
0 1571909805 16 266 39 193 44
max_wind_angle date_max_wind_str ID
0 221 1571903768 00:00:00:00:ba:a0
time_utc WindStrength WindAngle GustStrength GustAngle max_wind_str max_wind_angle date_max_wind_str ID
0 1571909805 16 266 39 193 44 221 1571903768 00:00:00:00:ba:a0
for l, j in enumerate(modules):
#print(l)
#print('############################')
row2 = pd.DataFrame([j['dashboard_data']], index=[0])
row2['ID'] = j['_id']
row2.rename(columns={"Temperature":"temp_outside", "Humidity": "humidity_outside"}, inplace=True)
#print(row2)
df2 = df2.append(row2, sort=True)