将数据框列 headers 分发到数据框行并堆叠列值
Distributing dataframe column headers to a dataframe row and stacking column values
如何对 Pandas 数据框执行以下转换?将列 headers 转换为一列,并将每列的值堆叠到一列中。附上一张图片以帮助澄清。
尝试:
df.melt('date', var_name='stock', value_name='quantity')
输出:
date stock quantity
0 2015 ABT 5
1 2016 ABT 6
2 2015 ABBV 32
3 2016 ABBV 14
给定 df,
df = pd.DataFrame({'date':[2015, 2016],
'ABT':[5,6],
'ABBV':[32, 14]})
您可以使用:
df = df.set_index('date').stack().reset_index()
df.columns = ['date', 'stock', 'quantity']
结果:
print(df)
date stock quantity
0 2015 ABT 5
1 2015 ABBV 32
2 2016 ABT 6
3 2016 ABBV 14
如何对 Pandas 数据框执行以下转换?将列 headers 转换为一列,并将每列的值堆叠到一列中。附上一张图片以帮助澄清。
尝试:
df.melt('date', var_name='stock', value_name='quantity')
输出:
date stock quantity
0 2015 ABT 5
1 2016 ABT 6
2 2015 ABBV 32
3 2016 ABBV 14
给定 df,
df = pd.DataFrame({'date':[2015, 2016],
'ABT':[5,6],
'ABBV':[32, 14]})
您可以使用:
df = df.set_index('date').stack().reset_index()
df.columns = ['date', 'stock', 'quantity']
结果:
print(df)
date stock quantity
0 2015 ABT 5
1 2015 ABBV 32
2 2016 ABT 6
3 2016 ABBV 14