You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据DataFrame指定数值实现字符串乘法并生成新列?

Pandas 生成自定义格式列的实现方法

可以通过两种常见方式实现需求,以下是具体代码和说明:

方法一:使用apply逐行处理

这种方式写法直观,适合快速实现:

import pandas as pd

# 构建示例DataFrame
df = pd.DataFrame({
    'start_time': [1, 2],
    'end_time': [2, 5]
})

# 新增目标列
df['new_col'] = df.apply(
    lambda row: ' ' * row['start_time'] + '*' * (row['end_time'] - row['start_time'] + 1),
    axis=1
)

# 查看结果
print(df)

执行后输出结果:

start_time  end_time new_col
0           1         2     **
1           2         5   ****

方法二:矢量化处理(适合大数据集)

如果你的DataFrame数据量较大,推荐使用矢量化方式提升效率:

import pandas as pd
import numpy as np

# 构建示例DataFrame
df = pd.DataFrame({
    'start_time': [1, 2],
    'end_time': [2, 5]
})

# 定义生成目标字符串的函数
def generate_target_str(start, end):
    return ' ' * start + '*' * (end - start + 1)

# 用矢量化函数批量生成列值
df['new_col'] = np.vectorize(generate_target_str)(df['start_time'], df['end_time'])

两种方法最终都会生成符合要求的new_col列,根据数据量大小选择即可。

内容的提问来源于stack exchange,提问作者Daniel Wu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 17:17:19