我想转置df1并将每一行的值“分散”到几行中。同时,我不想用列名标记数据,而是将旧列名添加到名为“segment”的新列下的每一行中。你知道吗
下面是我的例子:
df1 = pd.DataFrame(index=['index1', 'index2', 'index3'],
columns=["A", "B", "C"],
data=[[5,np.nan, "ok"], [7,8,"fine"], ["3rd",100,np.nan]])
df1
我希望结果看起来像第二个数据帧df2:
df2 = pd.DataFrame(index=["index1", "index1", "index1", "index2", "index2", "index2", "index3", "index3", "index3"],
columns=['segment', 'value'],
data=[["A",5], ["B",np.nan], ["C","ok"], ["A",7], ["B",8], ["C","fine"],["A","3rd"],["B",100],["C",np.nan]])
df2
可以使用DataFrame.stack(dropna=False)方法:
相关问题 更多 >
编程相关推荐