【问题标题】:Transforming a Dataframe in Pandas在 Pandas 中转换数据框
【发布时间】:2020-06-02 14:36:05
【问题描述】:

我正在努力寻找一种使用 Pandas 数据框将 excel 数据集转换为表格形式的方法。

源数据集说明: 第 1 列列出指标名称,第 2 列开始,所有列都有相应的站点和日期指标值。从第 2 列开始的第 1 行中的所有列都有一个日期来标识数据属于哪一天,从第 2 列开始的第 3 行中的所有列都有一个日期来标识数据属于哪个站点。第 4 行是指标名称(第 1 列)和指标值(第 2 列)的开始位置。

所需的输出描述: 第 1 列应列出指标名称 第 2 列应列出数据和站点的相应日期 第 3 栏应列出相应的数据站点和日期 第 4 列应列出相应的指标值

希望这是有道理的。我本可以上传一个示例文件,但对堆栈溢出不熟悉,猜想这样做需要一些要点。

到目前为止,我已经尝试过使用 pandas 数据框进行转置、融化等,但真的无法得到结果。

猜猜这可能是这里的数据争论专家的真正挑战者。

【问题讨论】:

标签: excel pandas dataframe transform transpose


【解决方案1】:

如果没有看到数据很难说,但您是否可以帮助您将每一列放入列表中,操作列表,然后将它们放回多维度列表中的 DataFrame 中?

col1 = df['column 1'].tolist()
col2 = df['column 2'].tolist()
col3 = df['column 3'].tolist()

for i in range(len(col1)):
    lst.append([col1[i],col2[i],col3[i]])

transposed_df = pd.DataFrame(lst, columns = ['metric names','date','site']

【讨论】:

  • 期望的结果是Output_DF = pd.DataFrame(columns = ['metric_names','metric_value','date','site'])。使用列表附加方法,站点代码和日期与度量值一起成为行的一部分。在从 excel 读取的原始数据中,站点代码和日期出现在每列的第 1 行和第 2 行,除了列出指标名称的第 1 列。这些列中的每一列都对应于站点的每日指标值,指标名称列在第 1 列中。有什么方法可以从其原始位置获取站点代码和日期,并根据指标名称和指标值重复它们?
  • 你能用索引来追踪他们原来的位置吗?
猜你喜欢
  • 2012-10-15
  • 1970-01-01
  • 2020-10-14
  • 2023-01-15
  • 2022-06-15
  • 2021-07-23
  • 1970-01-01
  • 2022-06-16
相关资源
最近更新 更多