Python 是否有一种方法可以使用pandas dataframe列中的值对字符串执行切片?

Python 是否有一种方法可以使用pandas dataframe列中的值对字符串执行切片?,python,pandas,slice,Python,Pandas,Slice,我想用从字符串中提取的片段填充列。 即 我有一个dataframe列,其中包含长度为20:300个字符的字符串。我想使所有这些字符串的长度相同(300个字符)。额外的字符将来自已定义的字符串。我一直在尝试使用以下方法设置300char列,但它不起作用。我得到一个错误值的长度与“”索引的长度不匹配 我的代码如下所示: filler_string='IAMA300CHARFILLERSTRING'. df['300_string']=df['smaller_string']+filler_strin

我想用从字符串中提取的片段填充列。

我有一个dataframe列,其中包含长度为20:300个字符的字符串。我想使所有这些字符串的长度相同(300个字符)。额外的字符将来自已定义的字符串。我一直在尝试使用以下方法设置300char列,但它不起作用。我得到一个错误值的长度与“”索引的长度不匹配

我的代码如下所示:

filler_string='IAMA300CHARFILLERSTRING'.
df['300_string']=df['smaller_string']+filler_string[0:300-df['smaller_string_len']]

你试过熊猫的
垫吗

df['smaller_string'].str.pad(width=300, side='right', fillchar=your_char)

以下代码片段可用于实现所述目标。只是模拟你的问题。可以修改代码的某些部分以适合您的代码。对于最大长度,重复填充字符串,以处理所需长度和实际长度之间的差异大于填充字符串长度的情况(如果填充字符串为最大长度,则可以省略)


我试过了,但我想用不同的字符来“填充”,而不是一个字符。例如,根据需要使用“atgcgtagtagagcagag”字符填充。然后,您必须按照Venkat当时的建议使用apply。我认为该用例在columnw上没有内置函数。
df['smaller_string'].str.pad(width=300, side='right', fillchar=your_char)
temp = {'string' : ['text1', 'text10', 'text123']}
df = pd.DataFrame(temp)
max_len = 300
filler_string='IAMA300CHARFILLERSTRING'
filler_string = (filler_string * (max_len // len(filler_string) + 1))[:max_len]
df['string'] = df['string'].apply(lambda x: "{}{}".format(x, filler_string[0:max_len - len(x)]))