您可以使用pandas库来将数据转换为长格式。下面是一个示例代码,说明如何实现这一过程:

import pandas as pd

# 创建一个包含原始数据的DataFrame
data = {'Area': ['Afghanistan', 'Afghanistan', 'Afghanistan', 'Afghanistan', 'Afghanistan', 'Afghanistan'],
        'Element': ['Production', 'Import Quantity', 'Export Quantity', 'Agricultural Use', 'Use per area of cropland', 'Use per capita'],
        'Y1961': [None, 1000, None, 1000, 0.13, 0.11],
        'Y1962': [None, 1000, None, 1000, 0.13, 0.11],
        'Y1963': [None, 1000, None, 1000, 0.13, 0.11],
        'Y1964': [None, 1000, None, 1000, 0.13, 0.11],
        'Y1965': [None, 1000, None, 1000, 0.13, 0.1],
        'Y1966': [None, 1000, None, 1000, 0.13, 0.1]}
df = pd.DataFrame(data)

# 使用melt函数将数据转换为长格式
df_long = df.melt(id_vars=['Area', 'Element'], var_name='Year', value_name='Value')

# 保留所需的列
df_long = df_long[df_long['Element'].isin(['Production', 'Import Quantity', 'Use per capita'])]

# 打印转换后的数据
print(df_long)

输出结果将是:

            Area           Element   Year   Value
0   Afghanistan       Production  Y1961    None
1   Afghanistan  Import Quantity  Y1961  1000.0
5   Afghanistan   Use per capita  Y1961    0.11
6   Afghanistan       Production  Y1962    None
7   Afghanistan  Import Quantity  Y1962  1000.0
11  Afghanistan   Use per capita  Y1962    0.11
...

这样,您就成功将数据转换为长格式,并且只保留了"Production"、"Import Quantity"和"Use per capita"这三个元素的数据。

Area	Element	Y1961	Y1962	Y1963	Y1964	Y1965	Y1966Afghanistan	Production						Afghanistan	Import Quantity	1000	1000	1000	1000	1000	1000Afghanistan	Export Quantity						Afghanistan	Agricultural Use	1000

原文地址: https://www.cveoy.top/t/topic/jdZ0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录