我想学习如何像在 Excel 中一样在 Python 中转换数据
数据如下:
import pandas as pd
`df = pd.DataFrame({
'country': ['Angola', 'India', 'Mongolia'],
1999: [800, 900, 1000],
2000: [800, 878, 900],
2001: [500, 345, 234],
2002: [400, 555, 666]
})
我想旋转此数据集,使国家/地区列垂直显示(即查看每年每个国家/地区的病例数)
这是我正在使用的代码:
df_melted = print(pd.melt(df, id_vars=['country'], var_name='year', value_name='value'))
这样做正确吗?
您可以使用
pivot_table()
功能。
import pandas as pd
df = pd.DataFrame({
'country': ['Angola', 'India', 'Mongolia'],
1999: [800, 900, 1000],
2000: [800, 878, 900],
2001: [500, 345, 234],
2002: [400, 555, 666]
})
# Pivot the DataFrame
df_pivoted = df.pivot_table(index='country').reset_index()
print(df_pivoted)
输出:
country 1999 2000 2001 2002
0 Angola 800.0 800.0 500.0 400.0
1 India 900.0 878.0 345.0 555.0
2 Mongolia 1000.0 900.0 234.0 666.0