小球鱼 发表于 2025-6-6 00:06:59

python问题pandas问题

有大神在吗?我想请教一下,我想要pandas处理这样的数据,我有两列数字,我想使用第一列分别加另一个的range,组成一个list,加到数据的新列中。数据大概这样



变成这样:

]
]

FishC 发表于 2025-6-6 00:07:41

以下是解决您问题的Python代码,使用Pandas的apply函数逐行处理数据:


import pandas as pd

# 示例数据(替换为您的实际数据)
data = {'A': , 'B': }
df = pd.DataFrame(data)

# 核心处理逻辑
def create_list(row):
    base = row['A']
    count = row['B']
    return # 生成base+0到base+(count-1)的列表

df['C'] = df.apply(create_list, axis=1)# axis=1表示按行处理

print(df)


执行结果示例:

    AB             C
0103
1202   
2304


关键说明:
1. create_list 函数处理每行数据:
   - row['A'] 作为基准值
   - row['B'] 决定列表长度
2. range(row['B']) 生成0到B-1的整数序列
3. 列表推导式 创建新列表
4. df.apply(..., axis=1) 确保函数应用到每一行

注意事项:
- 如果B列包含0,会生成空列表 []
- B列应为正整数(负数会导致空列表)
- 处理百万级数据时建议改用向量化操作提升性能

需要处理其他特殊情况可继续提问!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

小球鱼 发表于 2025-6-6 00:10:16

非常感谢
页: [1]
查看完整版本: python问题pandas问题