【发布时间】:2019-10-23 16:00:15
【问题描述】:
我有下表,显示了英国多年来的降雨量。我想转置它,以便每一行是一个月/一年,并且数据是按时间顺序排列的。
Year JAN FEB MAR APR
2010 79.7 74.8 79.4 48
2011 102.8 114.5 49.7 36.7
2012 110.9 60 37 128
2013 110.5 59.8 64.6 63.6
我想要它,所以表格如下所示,以年、月和降雨量为列:
2010 JAN 79.7
2010 FEB 74.8
2010 MAR 79.4
2010 APR 48
2011 JAN 102.8
2011 FEB 114.5
我想我需要使用 for 循环并遍历每一行来创建一个新的数据框,但我不确定语法。我已经尝试了下面的循环,它几乎可以满足我的需求,但不会作为数据框输出。
for index, row in weather.iterrows():
print(row["Year"],row)
2014.0 Year 2014.0
JAN 188.0
FEB 169.2
MAR 80.0
APR 67.8
MAY 99.6
JUN 54.8
JUL 64.7
任何帮助将不胜感激。
【问题讨论】:
-
不,您绝对不想要
for循环。您应该始终将其视为熊猫的最后手段。这是一个“从宽到长”的问题。