当表格数据包含日期作为列标题时,将这些列转换为具有相应值的行可能是一项有价值的任务。为了实现这种转换,Python 的 Pandas 库提供了一个方便的解决方案。
提供的数据集展示了一种结构,其中信息按不同日期的位置进行分组,每个日期都由不同的列标题表示。目标是将这些数据重塑为一种格式,其中每行代表一个位置、日期和关联值。
为了将列转换为行,Pandas 提供了熔化函数。此函数允许我们指定哪些列应作为列标题,哪些列应作为行标题。在这种情况下,名称和位置被设置为行标题,日期标题被融合到单个日期列中,而它们的值成为值列。
df.melt(id_vars=["location", "name"], var_name="Date", value_name="Value")
生成的 DataFrame 将类似于预期输出:
location name Date Value 0 A "test" Jan-2010 12 1 B "foo" Jan-2010 18 2 A "test" Feb-2010 20 3 B "foo" Feb-2010 20 4 A "test" March-2010 30 5 B "foo" March-2010 25
对于旧版本的 Pandas(
df2 = pd.melt(df, id_vars=["location", "name"], var_name="Date", value_name="Value") df2 = df2.sort(["location", "name"])
以上是Pandas 的'melt”函数如何将日期列数据重塑为行?的详细内容。更多信息请关注PHP中文网其他相关文章!