pandas DataFrame行列转置

本文深入探讨了使用Python的Pandas库进行数据处理时,stack与unstack函数的应用技巧。通过实例展示了如何将DataFrame转换为Series,以及如何通过改变索引来调整数据结构,帮助读者掌握更高效的数据操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(6).reshape(2,3),index=("AA","BB"),columns=["three","two","one"])
print(df)
    three  two  one
AA      0    1    2
BB      3    4    5

表格在行列方向上均有索引(类似于DataFrame),花括号结构只有“列方向”上的索引(类似于层次化的Series),结构更加偏向于堆叠(Series-stack,方便记忆)。stack函数会将数据从”表格结构“变成”花括号结构“,即将其行索引变成列索引,反之,unstack函数将数据从”花括号结构“变成”表格结构“,即要将其中一层的列索引变成行索引

#直接列索引转换到最内层行索引,生一个Series对象
df2 = df.stack()
print(df2)
AA  three    0
    two      1
    one      2
BB  three    3
    two      4
    one      5
dtype: int64

df.stack()将df格式从表格形式转化成了花括号结构

# 将第二行的列索引转化成行索引
df3 = df2.unstack(0)
print(df3)
       AA  BB
three   0   3
two     1   4
one     2   5
# unstack()或者unstack(1)将第二行的列索引转化成行索引
df3 = df2.unstack()
print(df3)
    three  two  one
AA      0    1    2
BB      3    4    5
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值