对DataFrame数据按列处理

获取列名使用.columns()函数。

import pandas as pd
df=pd.DataFrame({'id':[1,2,3,4,5],'a':[1, 3, 5, 7,9],'b':[2 , 4 , 6, 8, 19], 'c': [4, 6, 9, 12, 20],'d':['yes','yes','no','no','yes']})
df
id a b c d
0 1 1 2 4 yes
1 2 3 4 6 yes
2 3 5 6 9 no
3 4 7 8 12 no
4 5 9 19 20 yes
df.columns
Index(['id', 'a', 'b', 'c', 'd'], dtype='object')

注意df.columns的类型是Index,不可修改。

type(df.columns)
pandas.core.indexes.base.Index
df.columns[1]='d'
---------------------------------------------------------------------------TypeError                                 Traceback (most recent call last)<ipython-input-12-ed755c965e42> in <module>
----> 1 df.columns[1]='d'C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in __setitem__(self, key, value)3908 3909     def __setitem__(self, key, value):
-> 3910         raise TypeError("Index does not support mutable operations")3911 3912     def __getitem__(self, key):TypeError: Index does not support mutable operations

如果要提取df中的某些列,比如需要对于数值类型和文本类型的列做不同的处理,就需要将二者分开。这里的文本类型是’d’,另外,'id’也不必参与到后续的数据处理当中去。

cate=['d']
num=df.columns.drop(cate).drop('id')
num
Index(['a', 'b', 'c'], dtype='object')

注意此处的.drop()会在不影响df.columns的内容的情况下生成一个去除了其中含有的cate之后的副本,如果其中不含有drop的内容还会报错,在对不同类型的列做处理时很实用。
与此对应,.remove()会在原列表上删除对象(所以对于Index是不可用的,对list可用),不产生副本,各有适用场合。

如果想获得列名称并进行操作,使用.tolist()。

col_name=df.columns.tolist()
type(col_name)
list
data_cate=df[cate]
data_num=df[num]

将数值型和文本型数据分开后可用分别处理,例如数值型做标准化,文本型做编码。如果需要把经过分别处理后的数据合成一个表,可以使用pd.concat()函数。

data_processed=pd.concat([data_cate,data_num],axis=1)
data_processed
d a b c
0 yes 1 2 4
1 yes 3 4 6
2 no 5 6 9
3 no 7 8 12
4 yes 9 19 20

对DataFrame数据按列处理相关推荐

  1. R语言使用多个数据类型不同的向量数据创建一个dataframe数据对象、使用names函数查看dataframe数据的列名称

    R语言使用多个数据类型不同的向量数据创建一个dataframe数据对象.使用names函数查看dataframe数据的列名称 目录 R语言使用多个数据类型不同的向量数据创建一个dataframe数据对 ...

  2. R语言把dataframe数据转化为tibble格式、查看每个数据列的缺失值个数、使用数据列的均值对数据列的缺失值进行填充

    R语言把dataframe数据转化为tibble格式.查看每个数据列的缺失值个数.使用数据列的均值对数据列的缺失值进行填充 目录

  3. pandas索引复合索引dataframe数据、索引dataframe中指定行和指定列交叉格子的数据内容(getting a specific value)、使用元组tuple表达复合索引的指定行

    pandas索引复合索引dataframe数据.索引dataframe中指定行和指定列交叉格子的数据内容(getting a specific value).使用元组tuple表达复合索引的指定行 目 ...

  4. pandas使用sum函数计算dataframe单数据列的加和或者对所有的数据列进行求和(sum column or all columns of dataframe)

    pandas使用sum函数计算dataframe单数据列的加和或者对所有的数据列进行求和(sum column or all columns of dataframe) 目录

  5. pandas使用iloc函数基于dataframe数据列的索引抽取单列或者多列数据、其中多列索引需要嵌入在列表方括号[]中、或使用:符号形成起始和终止范围索引

    pandas使用iloc函数基于dataframe数据列的索引抽取单列或者多列数据.其中多列索引需要嵌入在列表方括号[]中.或使用:符号形成起始和终止范围索引 目录

  6. pandas索引复合索引dataframe数据、索引其中一个水平(level)的特定数据列(index a column of a level)

    pandas索引复合索引dataframe数据.索引其中一个水平(level)的特定数据列(index a column of a level) 目录

  7. pandas使用groupby函数和cumsum函数计算每个分组内的数值累加值、并生成新的dataframe数据列( cumulative sum of each group in dataframe

    pandas使用groupby函数和cumsum函数计算每个分组内的数值累加值.并生成新的dataframe数据列( cumulative sum of each group in dataframe ...

  8. pandas计算dataframe两列数据值相等的行号、取出DataFrame中两列值相等的行号

    pandas计算dataframe两列数据值相等的行号.取出DataFrame中两列值相等的行号 目录 pandas计算dataframe两列数据值相等的行号.取出DataFrame中两列值相等的行号

  9. R语言使用subset函数基于组合逻辑筛选dataframe符合条件的数据行(select observations)、并指定需要保留的dataframe数据列或者字段

    R语言使用subset函数基于组合逻辑筛选dataframe符合条件的数据行(select observations).并指定需要保留的dataframe数据列或者字段 目录

最新文章

  1. 百度网络推广带你了解网站文章锚文本优化需要注意的事项?
  2. AB1601蓝牙初始化注意事项
  3. php复习,PHP排序算法的复习和总结
  4. 哔哩哔哩2021年Q4及全年财报:全年营收194亿元,同比增长62%
  5. SqlServer数据库 性能监视器 打开路径、添加监控参数 等详解
  6. 新手开发记录:把ListView、Adapter的逻辑捋顺,做一个微博热搜吧
  7. BFC和haslayout(IE6-7)(待总结。。。)
  8. linux内核系列之二_资源
  9. linux SNAT、DNAT目标函数
  10. item_cat_get - 获得淘宝商品类目
  11. 前端学习的开源实战项目及其源码
  12. asp.net天轰穿视频学习总结
  13. Java 将文件转换写入byte[]
  14. PC电脑使用无线网卡连接上手机热点,为什么不能上网
  15. Ubuntu 18.04 安装搜狗拼音输入法出现乱码的
  16. android自动夜间模式,夜晚的故事(android夜间模式实现)
  17. moviepy音视频剪辑:颜色相关变换函数blackwhite、colorx、fadein/out、gamma_corr、invert_colors、lum_contrast、mask_color介绍
  18. HTML5+WebGL打造的无插件纯Web 3D机房(第二季新增视频)
  19. 同花顺股票交易接口的编写POST接口
  20. QGIS使用之基本介绍和安装教程

热门文章

  1. “你成功不就是运气好吗”- 还真不是!
  2. VMR9 图像视频混合模式介绍
  3. 计算机项目管理缩写,项目管理-常用缩写
  4. 【论文笔记_目标检测_2022】POLYLOSS: A POLYNOMIAL EXPANSION PERSPECTIVE OF CLASSIFICATION LOSS FUNCTIONS
  5. 传统电子地图与水经注下载的谷歌电子地图有何区别
  6. 史上最便捷搭建 ZooKeeper 服务器的方法(建议收藏)
  7. 超级app当道,发现他们有一个共同的技术线路
  8. 老人机轮询紧急拨号功能
  9. arm9260 linux编译,at91sam9260-linux建立最小系统
  10. 机械制图之正投影法基本性质