#读取数据
dtype_dict={
"count_date":pl.Utf8,
}
m_data= pl.read_csv(file_path,dtypes=dtype_dict,encoding="gbk")
# DataFrame转换
m_data=pl.from_pandas(m_data)
#选择列
m_data= m_data.select(["segm_id", "stand_name"])
#格式转换
m_data= m_data.with_columns(
pl.col('rank').cast(pl.Utf8)
)
#列名,重新命名
m_data= m_data.with_columns(
pl.col('rank').alias("L7-rank")
)
#Vlookup
m_data = m_data.join(m_other_data, left_on="left", right_on="right", how="left")
1
#整体排序
group=m_data.groupby(["L7"]).agg(
pl.col("*"),
pl.col("L7").cumcount().alias("rank"),
)
#选择列
group=group.select(["L7","stand_name","rank"])
#展开
group=group.explode(["stand_name","rank"])
#合并
group = group.with_columns((pl.col('L7')+"-"+pl.col('rank').cast(pl.Utf8)).alias("L7-rank"))