polars 长宽格式转换

 import polars as pl

# 创建示例数据(宽格式)
df_wide = pl.DataFrame({
    "id": [1, 2, 3],
    "name": ["Alice", "Bob", "Charlie"],
    "math": [90, 85, 92],
    "english": [88, 90, 85],
    "science": [92, 88, 90]
})
print("原始数据(宽格式):")
print(df_wide)
# 使用 melt() 转换为长格式
df_long = df_wide.unpivot(
    index=["id", "name"],           # 保持不变的列
    on=["math", "english", "science"],  # 要转换的列
    variable_name="subject",          # 新的变量名列
    value_name="score"               # 新的值列
)

# 使用上面的长格式数据,转换回宽格式
df_back_to_wide = df_long.pivot(
    values="score",      # 用作值的列
    index=["id", "name"], # 作为行索引的列
    on="subject"    # 作为列名的列
)
print("转换回宽格式:")
print(df_back_to_wide)

评论

此博客中的热门博文

V2ray websocket(ws)+tls+nginx分流

Rstudio 使用代理