如何基于用户输入的指定数量动态创建pandas DataFrame的对应列
自定义函数动态生成指定列数pandas DataFrame
首先导入pandas依赖:
import pandas as pd
以下是函数实现,支持自定义列数、生成行数、列名前缀,可灵活适配不同业务场景:
def generate_custom_df(no_levels: int, row_count: int = 5, col_prefix: str = "level_") -> pd.DataFrame: # 按输入的列数生成列名列表 columns = [f"{col_prefix}{i+1}" for i in range(no_levels)] # 生成示例数据,可根据实际业务需求替换对应逻辑 sample_data = [[f"{col}_row{row}_val" for col in columns] for row in range(row_count)] # 构造并返回DataFrame return pd.DataFrame(sample_data, columns=columns)
使用示例
输入参数no_levels=3时的调用方法:
df = generate_custom_df(no_levels=3) print(df)
输出效果如下:
level_1 level_2 level_3 0 level_1_row0_val level_2_row0_val level_3_row0_val 1 level_1_row1_val level_2_row1_val level_3_row1_val 2 level_1_row2_val level_2_row2_val level_3_row2_val 3 level_1_row3_val level_2_row3_val level_3_row3_val 4 level_1_row4_val level_2_row4_val level_3_row4_val
- 如果需要生成无数据的空DataFrame,只需把函数内的
sample_data赋值逻辑替换为sample_data = []即可 - 如果需要自定义列名规则,修改
columns列表的生成逻辑即可
内容的提问来源于stack exchange,提问作者LLTeng
相关产品推荐
相关产品推荐

