我有以下代码:
import pandas as pd
rep1 = pd.DataFrame.from_items([('Probe', ['x', 'y', 'z']), ('Gene', ['foo', 'bar', 'qux']), ('RP1',[1.00,23.22,11.12]),('RP1',["A","B","C"]) ], orient='columns')
rep2 = pd.DataFrame.from_items([('Probe', ['x', 'y', 'z']), ('Gene', ['foo', 'bar', 'qux']), ('RP2',[3.33,77.22,18.12]),('RP2',["G","I","K"]) ], orient='columns')
rep3 = pd.DataFrame.from_items([('Probe', ['x', 'y', 'k']), ('Gene', ['foo', 'bar', 'kux']), ('RP3',[99.99,98.29,8.10]),('RP2',["M","P","J"]) ], orient='columns')
tmp = []
tmp.append(rep1)
tmp.append(rep2)
tmp.append(rep3)
生成以下数据帧列表。在
^{pr2}$上述每个数据帧具有以下特征:
Probe
和Gene
Probe
和{我正在尝试将这些DFs合并到列表中,以便生成以下内容:
Probe Gene RP1 RP2 RP3 RP1 RP2 RP3
0 x foo 1.00 3.33 99.99 A G M
1 y bar 23.22 77.22 98.29 B I P
2 z qux 11.12 18.12 NA C K NA
3 k kux NA NA 8.10 NA NA J
我尝试了这个代码,但失败了:
In [67]: reduce(pd.merge,tmp)
MergeError: Left data columns not unique: Index([u'Probe', u'Gene', u'RP1', u'RP1'], dtype='object')
正确的方法是什么?在
您可以删除列名。这里有一种老套的方法:
还需要将其指定为外部合并(以获取NaN行):
^{pr2}$相关问题 更多 >
编程相关推荐