我正在尝试将数据框转换为长格式。
我要开始使用的数据框:
列数未指定,可能超过4列。每个键值对后面应该有一个新行。
这样可以获得我需要的内容,但似乎应该有一种方法可以在不必删除空值的情况下完成此操作。
我要开始使用的数据框:
df = pd.DataFrame([['a', 'b'],
['d', 'e'],
['f', 'g', 'h'],
['q', 'r', 'e', 't']])
df = df.rename(columns={0: "Key"})
Key 1 2 3
0 a b None None
1 d e None None
2 f g h None
3 q r e t
列数未指定,可能超过4列。每个键值对后面应该有一个新行。
这样可以获得我需要的内容,但似乎应该有一种方法可以在不必删除空值的情况下完成此操作。
new_df = pd.melt(df, id_vars=['Key'])[['Key', 'value']]
new_df = new_df.dropna()
Key value
0 a b
1 d e
2 f g
3 q r
6 f h
7 q e
11 q t