【发布时间】:2021-06-29 08:27:39
【问题描述】:
我想转换以下宽格式的 Pandas DataFrame
df = pd.DataFrame([['A', '1', '2', '3'], ['B', '4', '5', '6'], ['C', '7', '8', '9']], columns=['ABC', 'def', 'ghi', 'jkl'])
df =
ABC def ghi jkl
0 A 1 2 3
1 B 4 5 6
2 C 7 8 9
转换为长格式,其中第一列中的值仍对应于小写列中的值。列名不能用作存根名称。新列的名称无关紧要,以后可以重命名。
输出应该是这样的:
df =
0 1
0 A 1
1 A 2
2 A 3
3 B 4
4 B 5
5 B 6
6 C 7
7 C 8
8 C 9
我不确定如何最好和最有效地做到这一点。这可以用wide_to_long() 来完成吗?然后我不知道如何处理存根名称。最好的是可以在大桌子上使用的高效单线。
非常感谢!!
【问题讨论】:
标签: python pandas dataframe transform