【问题标题】:Extract character from a string column given by position in another column in pandas DataFrame [duplicate]从pandas DataFrame中另一列中的位置给定的字符串列中提取字符[重复]
【发布时间】:2022-01-03 06:30:32
【问题描述】:

在 pandas 数据框中,我想从另一列给出的索引处的字符串列中提取一个字符。例如,给定以下DataFrame

import pandas as pd

df = pd.DataFrame({"s": ["ACGT", "AAGA"], "i": [0, 2]})
 
#       s  i
# 0  ACGT  0
# 1  AAGA  2

我想为每一行提取s[i],得到

      s  i  extracted
0  ACGT  0  A
1  AAGA  2  G

我想我可以做类似的事情

df["s"].str.get(df["i"])

但是.get() 只接受一个整数参数,而不是一个系列。

完成这项工作的最佳方法是什么?

【问题讨论】:

    标签: python pandas string dataframe


    【解决方案1】:

    试试 lambda

    df['extracted'] = df.apply(lambda x: x['s'][x['i']],axis=1)
    
          s  i extracted
    0  ACGT  0         A
    1  AAGA  2         G
    

    【讨论】:

      猜你喜欢
      • 2019-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-15
      • 2020-01-04
      • 2021-10-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多