【问题标题】:Remove "x" number of characters from a string in a pandas dataframe?从熊猫数据框中的字符串中删除“x”个字符?
【发布时间】:2019-03-06 16:52:56
【问题描述】:

我有一个看起来像这样的熊猫数据框 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

有什么帮助吗?提前致谢!

【问题讨论】:

    标签: string python-3.x pandas


    【解决方案1】:

    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
    

    【讨论】:

    • 当我将它应用到我的数据集时,它肯定会更快!非常感谢!
    【解决方案2】:

    您可以使用apply 来执行此操作,以逐行应用:

    df.apply(lambda x: x.a[x.b:],axis=1)
    
    0    sastring
    1     rstring
    2        ring
    dtype: object
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-11
      • 2019-01-28
      • 2016-10-21
      • 2018-03-23
      • 2021-08-12
      • 2017-06-02
      • 2017-07-27
      相关资源
      最近更新 更多