从pandas DataFrame中另一列中的位置给定的字符串列中提取字符[重复]
Posted
技术标签:
【中文标题】从pandas DataFrame中另一列中的位置给定的字符串列中提取字符[重复]【英文标题】:Extract character from a string column given by position in another column in pandas DataFrame [duplicate] 【发布时间】: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()
只接受一个整数参数,而不是一个系列。
完成这项工作的最佳方法是什么?
【问题讨论】:
【参考方案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
【讨论】:
以上是关于从pandas DataFrame中另一列中的位置给定的字符串列中提取字符[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何计算包含一组列中的值和 Pandas 数据框中另一列中的另一个值的行数?
用 Pandas 将 DataFrame 中某些列和行的值替换为同一 DataFrame 中另一列的值
将语料库中的名称部分匹配到 Pandas 数据框中另一列中的名称