Python如何从指定字母变量开始按顺序为DataFrame新增列并生成对应字典
实现方案
思路很简单,先找到指定起始字母在大写字母序列中的位置,再按DataFrame的行数截取后续对应长度的字母序列即可,具体实现代码如下:
import pandas as pd from string import ascii_uppercase as ABC # 示例数据构建(实际使用时可跳过,直接用你已有的df和variable变量) df = pd.DataFrame({'col1': ['data1', 'data2', 'data3']}) variable = 'D' # 计算指定起始字母的索引位置 start_index = ABC.index(variable) # 截取对应长度的字母序列:当前示例从指定字母的下一位开始分配,若要从指定字母本身开始,删除两处+1即可 letter_seq = ABC[start_index + 1 : start_index + 1 + len(df)] # 新增col2列到DataFrame df['col2'] = list(letter_seq) # 生成目标格式的字典 output = dict(zip(df['col2'], df['col1']))
如果你的DataFrame行数超过26行,需要循环使用字母,可以配合itertools.cycle实现:
from itertools import cycle cycle_abc = cycle(ABC) # 跳过前面不需要的字母段 for _ in range(start_index + 1): next(cycle_abc) # 取对应行数的循环字母序列 letter_seq = [next(cycle_abc) for _ in range(len(df))]
内容的提问来源于stack exchange,提问作者user11874651
相关产品推荐
相关产品推荐

