根据 pandas 数据框中的另一列获取子字符串

2024-03-10

您好,有没有办法根据另一列获取一列的子字符串?

import pandas as pd
x = pd.DataFrame({'name':['bernard','brenden','bern'],'digit':[2,3,3]})
x

     digit  name
0   2   bernard
1   3   brenden
2   3   bern

我期望的是这样的:

for row in x.itertuples():
    print row[2][:row[1]]

be
bre
ber

其中结果是基于数字的名称子字符串。

我知道如果我真的愿意,我可以创建一个基于 itertuples 函数的列表,但似乎不正确,而且我总是尝试创建一个矢量化方法。

感谢任何反馈。


Use apply with axis=1逐行使用 alambda因此您可以访问每一列进行切片:

In [68]:
x = pd.DataFrame({'name':['bernard','brenden','bern'],'digit':[2,3,3]})
x.apply(lambda x: x['name'][:x['digit']], axis=1)

Out[68]:
0     be
1    bre
2    ber
dtype: object
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据 pandas 数据框中的另一列获取子字符串 的相关文章

随机推荐