Python-pandas将一些列转换为行
我的数据集具有n个日期的位置信息。问题在于每个日期实际上是一个不同的列标题。例如,CSV看起来像
location name Jan-2010 Feb-2010 March-2010A "test" 12 20 30
B "foo" 18 20 25
我想要的是它看起来像
location name Date ValueA "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
以上是 Python-pandas将一些列转换为行 的全部内容, 来源链接: utcz.com/qa/434415.html