我有一个要融合的数据框。这是输入:

col1    col2    col3    col4    col5
file1  text_0  text_1  text_2
file2  text_0  text_1  text_2  text_3
file3  text_0


这是输出:

col1  col2
file1 text_0
file1 text_1
file1 text_2
file2 text_0
file2 text_1
file2 text_2
file2 text_3
file3 text_0

最佳答案

首先使用DataFrame.melt,然后通过query过滤出空字符串,最后删除列variable

df1 = (df.melt('col1', var_name='col2')
         .query("value != ''")
         .sort_values('col1')
         .drop('col2', axis=1))

print (df1)
     col1   value
0   file1  text_0
3   file1  text_1
6   file1  text_2
1   file2  text_0
4   file2  text_1
7   file2  text_2
10  file2  text_3
2   file3  text_0

关于python - 如何在Python中融化或拆开dataFrame?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59427896/

10-12 19:12