我有一个数据帧df
的地方Col1, Col2
和Col3
有列名:
Col1 Col2 Col3
a b
B 2 3
C 10 6
上面带有值的第一行a, b
是子类别,因此第一行为Col1
空。
我正在尝试获得以下信息:
B Col2 a 2
B Col3 b 3
C Col2 a 10
C Col3 b 6
我不确定该如何处理。
编辑:
df.to_dict()
Out[16]:
{'Unnamed: 0': {0: nan, 1: 'B', 2: 'C'},
'Col2': {0: 'a', 1: '2', 2: '10'},
'Col3': {0: 'b', 1: '3', 2: '6'}}
您可以尝试使用空白(或您要命名列的任何字符串)替换NaN的方法:
df.fillna('').set_index('Col1').T\
.set_index('',append=True).stack().reset_index()
输出:
level_0 Col1 0
0 Col2 a B 2
1 Col2 a C 10
2 Col3 b B 3
3 Col3 b C 6
df.fillna('Col0').set_index('Col1').T\
.set_index('Col0',append=True).stack().reset_index(level=[1,2])
输出:
Col0 Col1 0
Col2 a B 2
Col2 a C 10
Col3 b B 3
Col3 b C 6
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句