在下面的数据框中,我有3列,索引,调整和类型。 TYP列与索引有关。因此,每个(x,1)多索引都有一个PWR值,每个(x,2)多索引都有一个GND值。
index Adj TYP
(x,1) (x, 2) PWR
(x,1) (x, 3) PWR
(x,1) (x, 5) PWR
(x,1) (x, 6) PWR
(x,1) (x, 7) PWR
(x,2) (x, 1) GND
(x,2) (x, 3) GND
(x,2) (x, 4) GND
(x,2) (x, 5) GND
(x,2) (9, 6) GND
(x,2) (x, 7) GND
我想弄清楚如何使用索引和TYP之间的关系来填充第四列,称为“ Adj”。 TYP”。此列将具有ADJ和TYP之间的关系。如果仅对索引(x,1)和(x,2)执行此操作,则结果表将在下面。用文本解释起来很麻烦,但是本质上Adj列包含与index列相同的数据,只是顺序并不相同。我想用匹配的TYP填充第四列。
index Adj TYP Adj. TYP
(x,1) (x,2) PWR GND
(x,1) (x,3) PWR
(x,1) (x,5) PWR
(x,1) (x,6) PWR
(x,1) (x,7) PWR
(x,2) (x,1) GND PWR
(x,2) (x,3) GND
(x,2) (x,4) GND
(x,2) (x,5) GND
(x,2) (9,6) GND
(x,2) (x,7) GND
我试图使用map,但这不会让我为多值索引重新编制索引。
df1['Adj. TYP'] = df1['Adj'].map(df1[index])
答案 0 :(得分:1)
您可以尝试这个;
创建一个“查找”数据框:
string indicating how to convert numbers whose conversion to
double precision would lose accuracy, see type.convert. Can be
abbreviated. (Applies also to complex-number inputs.)
将查找表中的值映射到df(存在匹配项),并删除NaN:
df_ = df[['index', 'TYP']].drop_duplicates()