Pandas中DateFrame修改列名

Pandas中DateFrame修改列名

在做数据挖掘的时候,想改一个DataFrame的column名称,所以就查了一下,总结如下:

数据如下:

>>>import pandas as pd
>>>a = pd.DataFrame({‘A‘:[1,2,3], ‘B‘:[4,5,6], ‘C‘:[7,8,9]})
>>> a
   A  B  C
0  1  4  7
1  2  5  8
2  3  6  9

方法一:暴力方法

>>>a.columns = [‘a‘,‘b‘,‘c‘]
>>>a
   a  b  c
0  1  4  7
1  2  5  8
2  3  6  9

但是缺点是必须写三个,要不报错。

方法二:较好的方法

>>>a.rename(columns={‘A‘:‘a‘, ‘B‘:‘b‘, ‘C‘:‘c‘}, inplace = True)
>>>a
   a  b  c
0  1  4  7
1  2  5  8
2  3  6  9

好处是可以随意改个数:

>>>a.rename(columns={‘A‘:‘a‘, ‘C‘:‘c‘}, inplace = True)
>>>a
   a  B  c
0  1  4  7
1  2  5  8
2  3  6  9

可以只改变’A’,’C’,不改变’B’。

时间: 2024-08-10 02:11:42

Pandas中DateFrame修改列名的相关文章

(转)在SqlServer中,教你如何修改列名

通常,我们在使用SqlServer创建数据库中,在创建基本表时,偶尔会把表中的列名给起错了.想要把列名给改过来,一般有很多种改法,但是复杂程度却是不一样,有的人把整个表格删掉,重新建立来达到修改列名......通常花费大量的力气, 在这里,向大家介绍一种方法,直接一个语句就可搞定. 例如:我们已在数据库中建立了如下表 但是根据需要,想要把表中国的Ssex列名该为Sex,利用如下语句就OK: exec sp_rename 'student.Ssex','Sex','column'; 执行后就可达到

pandas中DataFrame

python数据分析工具pandas中DataFrame和Series作为主要的数据结构. 本文主要是介绍如何对DataFrame数据进行操作并结合一个实例测试操作函数. 1)查看DataFrame数据及属性 df_obj = DataFrame() #创建DataFrame对象 df_obj.dtypes #查看各行的数据格式 df_obj['列名'].astype(int)#转换某列的数据类型 df_obj.head() #查看前几行的数据,默认前5行 df_obj.tail() #查看后几

pandas中的分组技术

目录 1  分组操作 1.1  按照列进行分组 1.2  按照字典进行分组 1.3  根据函数进行分组 1.4  按照list组合 1.5  按照索引级别进行分组 2  分组运算 2.1  agg 2.2  transform 2.3  apply 3  利用groupby技术多进程处理DataFrame 我们在这里要讲一个很常用的技术, 就是所谓的分组技术, 这个在数据库中是非常常用的, 要去求某些分组的统计量, 那么我们需要知道在pandas里面, 这些分组技术是怎么实现的. 分组操作 我们

Pandas中数据的处理

有两种丢失数据 --None --np.nan(NaN) None是python自带的,其类型为python object.因此,None不能参与到任何计算中 Object类型的运算比int类型的运算慢的多 计算不同数据类型求和时间 %timeit np.arange(1e5,dtype=xxx).sum() %timeit是指python表达式或语句的执行时间 Pandas中的none与np.nan都视作np.nan 数据清洗 df.loc[index,column] ------>元素索引,

pandas中的axis参数(看其他人的博客中产生的疑问点,用自己的话解析出来)

axis有两个值:axis=0或者axis=1 看到很多资料都不太理解,把我个人理解说一下: 下面这张图,在很多资料中都看到了,我只能说先死记住 axis=0,代表跨行(注意看这张图的axis=0的箭头向下指),axis=1,代表跨列(注意看这张图的axis=1的箭头向右指,水平方向) 二维数据拥有两个轴: 0轴沿着行垂直往下走,1轴沿着列水平走 也可以说: 1.使用axis=0表示沿着行标签/索引值(index) 向下执行     #如果你学了pandas中的sreies就知道index了 2

解决Ext4.2.3中propertyGrid修改后点击排序报错

Ext4.2.3中PropertyGrid修改后点击排序报错,具体错误信息如下: 一开始还怀疑是自己哪里配置错了,各种尝试结果还是一样.查遍百度和谷歌,无果,只有一篇帖子说是4.2.4修正了.还是自己动手吧,自己动手丰衣足食. 点开报错地方(如下图所示),原来是me.field.column没有定义. 然后继续找,找啊找啊找到Ext.grid.property.Grid的getCellEditor方法.此方法有参数column,可在方法体内,column就没有被用到过,于是就感觉问题出在这里.

SQLSERVER中返回修改后的数据

在公司看到同事写了个SQL2005的新特性的文章,觉得很实用,在这里和大家分享下. 这种技术主要是用到了inserted和deleted虚拟表,这两张表相信大家都很熟悉.以前我们主要是在触发器中使用. 我们先来复习下这两个表: Inserted和Deleted这两个表是逻辑表,并且这两个表是由系统管理的,存储在内存中,不是存储在数据库中,因此,不允许用户直接对其修改.这两个表的结构与被该触发器作用的表在相同的表结构.这两个表是动态驻留在内存中的,当触发器工作完成,它们也被删除. 接下来,看看我们

hack在微信等webview中无法修改title的情况

今天下午弄的半天的, 最后终于解决了. 上代码: var $body = $('body'); document.title = 'title'; // hack在微信等webview中无法修改document.title的情况 var $iframe = $('<iframe src="/favicon.ico"></iframe>'); $iframe.on('load',function() { setTimeout(function() { $ifram

关于项目中批量修改数据

一.在项目中批量修改数据时应该写一条Update的Sql语句来执行,不能先将所要修改的数据筛选出来,然后再遍历修改. 原因: 1.这样只操作一次数据库,而后者需要操作无数次,性能很差. 2.绕圈子.需要修改数据时直接修改就行,不需要先全部查出来再逐条修改. 3.修改数据时时可以使用join的,例如: 1 update acc set acc.Creator = '滕晓梅' 2 from Accidents acc 3 inner join CompensationCase cc on acc.I