有人可以解释一下我如何将一个表中第 1 列中的对象替换为 Pandas 中另一个表的第 2 列中的对象吗?



>https://i.stack.imgur.com/eCieI.jpg

(目前使用 Juptyer Notebook for Python 并实现 Pandas 进行数据分析(

如上图所示,我有两个来自两个不同 csv 文件的表。第一个表是 masterList,它保存左侧的符号,右侧是另一个数据库 (Ensembl( 的相应 ID。下面的第二个表是 refList,我需要使用 masterList 将每一列(都是符号 ID(隐藏到 Ensembl 中。

我查看了 Pands 的替换函数并尝试了它,但如果您添加 masterList.str.replace[],它会替换整数和字符串。但是我最近了解到我的值是type:对象,所以它不会让我正确使用替换。

所以我目前坚持这个问题,并希望得到任何熊猫退伍军人的建议。

谢谢!

您可以创建一个字典,然后替换:

mapping = dict(df1[['Gene Symbol', 'Ensembl']].values)
df2 = df2.replace(mapping)

完整示例:

import pandas as pd
df1 = pd.DataFrame({
'A': list('abc'),
'B': ['val1','val2','val3']
})
df2 = pd.DataFrame({
'C': list('abc'),
'D': list('ccd')
})
mapping = dict(df1[['A', 'B']].values)
#mapping = df1.set_index('A')['B']  # alternative
df2.replace(mapping, inplace=True)
print(df2)

返回:

C     D
0  val1  val3
1  val2  val3
2  val3     d

相关内容

  • 没有找到相关文章

最新更新