gpt4 book ai didi

pandas - Pandas 中的子字符串列基于另一列

转载 作者:行者123 更新时间:2023-12-03 23:08:36 29 4
gpt4 key购买 nike

我试图根据另一列的长度对一列进行子串,但结果集是 NaN .我究竟做错了什么?

import pandas as pd 
df = pd.DataFrame([['abcdefghi','xyz'], ['abcdefghi', 'z']], columns=['col1', 'col2'])

df.col1.str[:df.col2.str.len()]

0 NaN
1 NaN
Name: col1, dtype: float64

这是我的期望:
0   'abc'
1 'a'

最佳答案

我不认为字符串索引需要一个系列。我会做一个列表理解:

df['extract'] = [r.col1[:len(r.col2)] for _,r in df.iterrows()]

或者
df['extract'] = [s1[:len(s2)] for s1,s2 in zip(df.col1, df.col2)]

输出:
        col1 col2 extract
0 abcdefghi xyz abc
1 abcdefghi z a

关于pandas - Pandas 中的子字符串列基于另一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60607869/

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