从多个列索引创建多行
Posted
技术标签:
【中文标题】从多个列索引创建多行【英文标题】:Create multiple rows from several column indexes 【发布时间】:2022-01-08 01:31:20 【问题描述】:请问您能帮帮我吗?这是我的原始数据集的结构:
Country | 2020 | 2021 |
---|---|---|
Ecuador | Value1 | Value2 |
Canada | Value1 | Value2 |
我想得到这个结构,所以年份本身就是一个索引,而不是多个列:
Country | Year | Index |
---|---|---|
Ecuador | 2020 | Value1 |
Ecuador | 2021 | Value2 |
Canada | 2020 | Value1 |
Canada | 2021 | Value2 |
非常感谢!
【问题讨论】:
df.melt 【参考方案1】:您的问题与question 类似。可以使用pandas的@987654322@方法
df.melt(id_vars=['Country'], var_name='Year', value_name='Index')
输出是:
Country Year Index
0 Ecuador 2020 Value1
1 Canada 2020 Value1
2 Ecuador 2021 Value2
3 Canada 2021 Value2
【讨论】:
非常感谢!比我想象的要容易..以上是关于从多个列索引创建多行的主要内容,如果未能解决你的问题,请参考以下文章
pandas读取csv数据header参数指定作为列索引的行索引列表形成复合(多层)列索引使用iloc基于行索引位置列表筛选dataframe数据中指定位置的多个数据行
pandas使用read_csv函数读取csv数据header参数指定作为列索引的行索引列表形成复合(多层)列索引使用方括号[]基于最外层列索引名称索引列数据
pandas读取csv数据index_col参数指定作为行索引的数据列索引列表形成复合(多层)行索引使用方括号[]基于列索引名称元组索引列数据(index tuple)