我有一个数据框列表,每个数据框都有一个多索引。一列是varName,另一列是'round'。
varName列中的值是数字。我有另一个数据帧,它是数字到标签的映射。我想在varName列上使用map(),但由于它是索引的一部分,因此没有varName列。
我试图复制varname列,或者让它不再是索引的一部分,但这些东西都不起作用。
答案 0 :(得分:1)
如果varName
是其中一个name
级别的MultiIndex
,您应该可以:
df.reset_index(level='varName')
将varName
转换为column
,然后使用map()
。如果varName
不是name
,您仍然可以使用level=0
(或1
)。
答案 1 :(得分:0)
也许你可以这样做:
df.reset_index(level=1).merge(df2)
这假设level = 1是两个dfs之间的公共列(例如' varName')。如果您愿意,可以使用set_index作为标签名称,例如:
df.reset_index(level=1).merge(df2).set_index(['labels'],append=True)