假设我们有以下的数据表格:
ID | Year1 | Year2 | Year3 |
---|---|---|---|
1 | 20 | 25 | 27 |
2 | 18 | 22 | 26 |
3 | 19 | 21 | 29 |
现在我们想要将同一有序数据(即年份)整理到一个称为 Year 的列中,同时将原来的数据值整理到一个值的列中。在这种情况下,我们可以通过使用 Pandas 的 melt 函数来实现此目的:
import pandas as pd
# 创建数据帧
df = pd.DataFrame({
"ID":[1,2,3],
"Year1":[20,18,19],
"Year2":[25,22,21],
"Year3":[27,26,29]})
# 使用melt函数,将年份列整理到一列中
df = pd.melt(df, id_vars=['ID'], value_vars=['Year1', 'Year2', 'Year3'], var_name='Year', value_name='Value')
print(df)
输出结果:
ID Year Value
0 1 Year1 20
1 2 Year1 18
2 3 Year1 19
3 1 Year2 25
4 2 Year2 22
5 3 Year2 21
6 1 Year3 27
7 2 Year3 26
8 3 Year3 29
通过使用 Pandas 的 melt 函数,我们可以将原本分散在不同行不同列的数据整理到一个数据帧中的同一列。在我们的例子中,每个值都与一个年份关联。因此,我们使用 value_vars 参数将每个年份的列名提供给 melt。
这种方法可以适用于所有
上一篇:不同行更新不同字段
下一篇:不同行和列切片的总和