我有一个Spreadsheet of Time series Data
它为每一年都有单独的表格,表格之间有一个单独的行间隔。我想把表格标题中的年份作为日期列的一部分。这样我就可以绘制图表,并对数据(年环比)等进行简单的比较
import pandas as pd
RigCountWorld_df = pd.read_excel(open('Worldwide Rig Count Nov 2022.xlsx', 'rb'),
sheet_name='Worldwide_Rigcount',index_col=None, header=6)
RigCountWorld_df
我的代码没有任何帮助,甚至我需要使用的Pandas操作的名称对我也有帮助。
我需要一个连续的表,其中包含所有年份的数据。最后有最新的数据是有意义的。
甚至单独转置表并将它们作为新列添加也是有意义的(列标题包含年-月名称)。
3条答案
按热度按时间ql3eal8s1#
下面是一个命题,其中包含一些
pandas
* 内置 * 函数。输出:
检查:
iqih9akk2#
您可以使用pandas
melt()
函数将数据从宽格式调整为长格式,以便每行包含一个观测值。然后,您可以使用pandasconcat()
函数将每个工作表中的融合 Dataframe 连接到一个 Dataframe 中。若要将工作表标题中的年份添加到日期列中,可以使用pandas
assign()
函数创建一个新列,其中包含工作表名称中的年份。然后,使用pandasdatetime.strptime()
函数将现有的日期列转换为日期时间对象,其中包含新列中的年份。下面是一个示例:
bgibtngc3#
验证年份和月份内容的另一个解决方案(假定列名位于
RigCountWorld_df
的第一行):