Python 通过两列并集重新索引数据帧
可能是重复的,但我甚至不确定要搜索什么 如果我有这样的熊猫数据帧:Python 通过两列并集重新索引数据帧,python,pandas,Python,Pandas,可能是重复的,但我甚至不确定要搜索什么 如果我有这样的熊猫数据帧: index RH LH Data1 Data2 . . . 1 A1 A2 A B 2 B1 NaN C D 3 NaN C2 E F 我想重新编制索引,如下所示: index Data1 Data2 A1 A B A2 A B B1 C D C2 E F 有没有一个简单的方法可以做到这一点
index RH LH Data1 Data2 . . .
1 A1 A2 A B
2 B1 NaN C D
3 NaN C2 E F
我想重新编制索引,如下所示:
index Data1 Data2
A1 A B
A2 A B
B1 C D
C2 E F
有没有一个简单的方法可以做到这一点?或者我应该只为循环执行一对?您可以对列表中未定义名称的所有列使用,然后通过使用drop=True
删除最后一个级别,将所有其他级别转换为列并通过以下方式创建索引:
或与一起使用,删除列变量
,并通过idx
列最后创建索引:
df = (df.melt(cols, value_name='idx')
.dropna(subset=['idx'])
.drop('variable', axis=1)
.set_index('idx'))
print (df)
Data1 Data2
idx
A1 A B
B1 C D
A2 A B
C2 E F
df = (df.melt(cols, value_name='idx')
.dropna(subset=['idx'])
.drop('variable', axis=1)
.set_index('idx'))
print (df)
Data1 Data2
idx
A1 A B
B1 C D
A2 A B
C2 E F