从熊猫数据框中的字符串中删除“ x”个字符?

时间:2018-10-01 14:38:05

标签: string python-3.x pandas

我的熊猫数据框df如下所示:

a                 b
thisisastring     5
anotherstring     6
thirdstring       7

我想根据b列中的数字从a列的字符串左侧删除字符。所以我尝试了:

df["a"] = d["a"].str[df["b"]:]

但这将导致:

a                 b
NaN               5
NaN               6
NaN               7

代替:

a                 b
sastring          5
rstring           6
ring              7

有帮助吗?预先感谢!

2 个答案:

答案 0 :(得分:6)

zip与字符串切片一起使用

df.a=[x[y:] for x,y in zip(df.a,df.b)]
df
Out[584]: 
          a  b
0  sastring  5
1   rstring  6
2      ring  7

答案 1 :(得分:4)

您可以使用apply来进行逐行应用:

df.apply(lambda x: x.a[x.b:],axis=1)

0    sastring
1     rstring
2        ring
dtype: object