>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