gpt4 book ai didi

python - Pandas 数据框 : slicing column values using second column for slice index

转载 作者:太空狗 更新时间:2023-10-30 02:58:37 26 4
gpt4 key购买 nike

我正在尝试在 Pandas 数据框中创建一列微卫星图案。我有一列给出了主题的长度,另一列给出了整个微卫星。

下面是感兴趣的列的示例。

     motif_len    sequence
0 3 ATTATTATTATT
1 4 ATCTATCTATCT
2 3 ATCATCATCATC

我想使用 motif_len 中的值对 sequence 中的值进行切片,以给出每个微卫星的单个重复(motif)。然后我想将所有这些图案添加为数据框中的第三列,以提供类似这样的内容。

     motif_len    sequence        motif
0 3 ATTATTATTATT ATT
1 4 ATCTATCTATCT ATCT
2 3 ATCATCATCATC ATC

我已经尝试了一些没有运气的事情。

>>df['motif'] = df.sequence.str[:df.motif_len]
>>df['motif'] = df.sequence.str[:df.motif_len.values]

两者都构成主题列,但所有值都是 NaN。

我想我明白为什么这些不起作用。我正在传递一个系列/数组作为切片中的上索引,而不是 mot_len 列中的 a 值。

我还尝试通过遍历每个来创建一个系列有什么想法吗?

最佳答案

您可以在 df 传递 axis=1 上调用 apply 以按行应用并使用列值对 str 进行切片:

In [5]:
df['motif'] = df.apply(lambda x: x['sequence'][:x['motif_len']], axis=1)
df

Out[5]:
motif_len sequence motif
0 3 ATTATTATTATT ATT
1 4 ATCTATCTATCT ATCT
2 3 ATCATCATCATC ATC

关于python - Pandas 数据框 : slicing column values using second column for slice index,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33508606/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com