我有一个这样的数据框:
number type X Y Z
1 red 101 NaN 101,NaN
2 blue 101 40,50 101,40,50
3 green 401 70,NaN 101,70,NaN
有什么方法可以基于列type
标记每个Z
元素? Z
只是X
和Y
的组合版本。
所以类似:
Number Type Z Flag
1 red 101 X
1 red NaN Y
2 blue 101 X
2 blue 40 Y
2 blue 50 Y
3 green 101 X
3 green 70 Y
3 green NaN Y
我正在考虑melt函数,但不确定如何。
reshaped_data = pd.melt(df, id_vars =['number', 'type',
'Z'], value_vars =['X', 'Y'])
用Series.str.split
和Series.str.split
在0.24+以下的熊猫解决方案:
DataFrame.stack