我的数据集具有n个日期的位置信息。问题在于每个日期实际上是一个不同的列标题。例如,CSV看起来像
location name Jan-2010 Feb-2010 March-2010 A "test" 12 20 30 B "foo" 18 20 25
我想要的是它看起来像
location name Date Value A "test" Jan-2010 12 A "test" Feb-2010 20 A "test" March-2010 30 B "foo" Jan-2010 18 B "foo" Feb-2010 20 B "foo" March-2010 25
问题是我不知道列中有多少个日期(尽管我知道它们总是以名字开头)
从v0.20开始,melt是一阶函数,你现在可以使用
df.melt(id_vars=["location", "name"], var_name="Date", value_name="Value") location name Date Value 0 A "test" Jan-2010 12 1 B "foo" Jan-2010 18 2 A "test" Feb-2010 20 3 B "foo" Feb-2010 20 4 A "test" March-2010 30 5 B "foo" March-2010 25