Pandas_规整数据_转换数据_stack() unstack()1
2018-11-21 17:33
435 查看
版权声明:学习笔记,请君任意享用,如有错误,敬请指正。(小白就是小白,不怕出错。) https://blog.csdn.net/mingkoukou/article/details/82839623
转换数据
df.stack() 列索引→行索引 df.unstack() 行索引→列索引
参数 | 类型 | 说明 |
level |
int string list |
-1 默认值 默认将最内层的列索引转换为最内层的行索引 |
dropna | bool |
True 默认值 数据转换后,如果一行数据均为缺省值Nan,则删除掉 |
[code]>>> df1 weight height cat 0 1 dog 2 3 #Stacking a dataframe with a single level column axis returns a Series >>> df1.stack() cat weight 0 height 1 dog weight 2 height 3 ----------------------------------------------------------------------------------- >>> df2 weight height kg m cat 1.0 2.0 dog 3.0 4.0 #默认将最内层的列索引转换为最内层行索引 >>> df2.stack() height weight cat kg NaN 1.0 m 2.0 NaN dog kg NaN 3.0 m 4.0 NaN >>> df2.stack(0) kg m cat height NaN 2.0 weight 1.0 NaN dog height NaN 4.0 weight 3.0 NaN >>> df2.stack(-1) / df2.stack(1) height weight cat kg NaN 1.0 m 2.0 NaN dog kg NaN 3.0 m 4.0 NaN >>> df2.stack([0, -1]) / df2.stack([0, 1]) cat height m 2.0 weight kg 1.0 dog height m 4.0 weight kg 3.0 >>> df2.stack([-1, 0]) / df2.stack([1, 0]) cat kg weight 1.0 m height 2.0 dog kg weight 3.0 m height 4.0 ----------------------------------------------------------------------------------- >>> df3 weight height kg m cat NaN 1.0 dog 2.0 3.0 #stack之后产生缺省数据,用NaN填充 >>> df3.stack(dropna=False) height weight cat kg NaN NaN m 1.0 NaN dog kg NaN 2.0 m 3.0 NaN #stack之后,如果一行全是NaN则删除数据行(默认操作) >>> df3.stack() / df3.stack(dropna=True) height weight cat m 1.0 NaN dog kg NaN 2.0 m 3.0 NaN ----------------------------------------------------------------------------------- #Set df2 columns & index 's Name >>> df2.columns.names=['Lable','Data'] >>> df2 Lable weight height Data kg m cat 1.0 2.0 dog 3.0 4.0 >>> df2.stack('Lable') Data kg m Lable cat height NaN 2.0 weight 1.0 NaN dog height NaN 4.0 weight 3.0 NaN >>> df2.stack('Data') Lable height weight Data cat kg NaN 1.0 m 2.0 NaN dog kg NaN 3.0 m 4.0 NaN >>> df2.stack(['Lable','Data']) Lable Data cat height m 2.0 weight kg 1.0 dog height m 4.0 weight kg 3.0 >>> df2.stack(['Data','Lable']) Data Lable cat kg weight 1.0 m height 2.0 dog kg weight 3.0 m height 4.0
相关文章推荐
- 【pandas】[5] 数据行列转置,数据透视(stack,unstack,pviot,pviot_table)
- Pandas_规整数据_转换数据_pivot()
- pandas学习笔记3—数据重塑图解Pivot, Pivot-Table, Stack and Unstack
- Pandas_规整数据_转换数据_melt()
- 【pandas】[5] 数据行列转置,数据透视(stack,unstack,pviot,pviot_table)
- 03_11Pandas_数据重构stack
- pandas进行时间数据的转换和计算时间差并提取年月日
- python科学计算笔记(十四)pandas数据过滤、清理、转换
- Pandas实现数据类型转换的一些小技巧汇总
- Pandas将列表(List)转换为数据框(Dataframe)
- Pandas_规整数据_组合数据_combine_first
- python数据分析05——Pandas数据清洗、转换和面元划分
- Pandas将列表(List)转换为数据框(Dataframe)
- 【pandas】[4] 数据清洗(数据合并,重塑,转换,离散化,过滤,采样)
- pandas 取出表中一列数据所有的值并转换为array类型的方法
- pandas如何取出表中一列数据所有的值并转换为array类型
- 利用Python进行数据分析(14) pandas基础: 数据转换
- Pandas将列表(List)转换为数据框(Dataframe)
- pandas 中 stack 和 unstack的用法
- pandas 学习笔记-- 数据清洗和转换