Area Element Y1961 Y1962 Y1963 Y1964 Y1965 Y1966Afghanistan Production Afghanistan Import Quantity 1000 1000 1000 1000 1000 1000Afghanistan Export Quantity Afghanistan Agricultural Use 1000
您可以使用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"这三个元素的数据。
原文地址: https://www.cveoy.top/t/topic/jdZ0 著作权归作者所有。请勿转载和采集!