我有两列,分别是几年前的日期和业绩回报,数据是csv格式的,如下所示:
Date: Return
12/2022: -1%
11/2022: +2%
10/2022: +1%
...
1/2002: -1%
我想把它转换成一个更传统的绩效表/矩阵,每年一行,每月一列,最终结果如下:
Year Jan, Feb, Mar, ..., Dec
2022 -1%, +1%, +2%, ..., -1%
2021 -1%, +1%, +2%, ..., -1%
...
2002 -1%, +1%, +2%, ..., -1%
请指示。
谢谢
3条答案
按热度按时间njthzxwz1#
要使用Python/Pandas将一行转换为日历绩效表格,您可以使用以下步骤:
首先,导入所需的库:复制代码**import pandas pd将数据加载到Pandas DataFrame中。例如,如果数据位于名为“data.csv”的CSV文件中,则可以使用以下代码将其加载到DataFrame中:**复制代码df = pd.read_csv(“data.csv”)选择要转换为日历绩效表的行。例如,如果要选择第一行,则可以使用以下代码:复制代码row = df.iloc[0]为日历绩效表创建一个新的DataFrame,其中包含日期、绩效值和任何其他相关数据列。例如:复制代码calendar_df = pd.DataFrame(columns=['date','performance'])迭代选定行中的元素,并为每个元素向日历DataFrame添加一行。例如:复制i的代码,枚举中的值(行):calendar_df =日历_df.append({'日期':i.“性能”:value},ignore_index=True)如果数据包含日期而不是数字索引,则可以使用日期列设置日历DataFrame的索引,然后使用unstack方法将日历DataFrame转换为每个日期一列的表格:复制代码calendar_df.set_index('date',inplace=True)calendar_table = calendar_df.unstack()要使用Excel将行转换为日历绩效表格,您可以使用以下步骤:
在Excel中打开包含数据的电子表格。
选择要转换为日历绩效表的行。
单击“插入”选项卡,然后单击“表格”组中的“表格”按钮。
在“创建表格”对话框中,确保选中了包含数据的单元格区域,然后单击“确定”。
Excel将创建一个表,其中选定行中的每个元素各占一行,日期和绩效值各占一列。
如果您的数据包括日期而不是数字索引,您可以使用“设计”选项卡将第一列的名称更改为“日期”,然后使用“表”组中的“数据透视表”按钮创建每个日期一列的数据透视表。
9q78igpj2#
你可以这样使用Pandas:
实际代码:
输出:
exdqitrt3#
这里有一种方法:
输出: