python将数据赋予新的标签_感慨!原来轴标签这样转换更方便!python方法请收下!...

前言

无论是在学习还是在工作中,数据一直伴随我们左右。量化研究的盛行,就意味着对客观现实的捕捉是人类理性的重要表现。数据处理与分析是一个数据价值挖掘的过程,然而相应的工具却很多,且各有特色,相关的工具有SPSS、R语言、SQL和python等。

在数据处理过程中,我们经常会遇到关于轴标签的处理问题。轴标签的处理,大家乍一看上去有点懵,特别是对数据处理相关知识不甚了解对伙伴们。这里举个简单对例子来进一步了解一下,比如我们要个一个数据集中对列改名字。

接下来,小编带领大家一起来学习,如何通过python方法来实现轴标签转换的。期间我们会涉及到pandas的两种数据结构Series 和DataFrame。如果对此不是十分了解,可以阅读小编相应文章进行学习或者查阅相关知识,再次不做赘述。

跟Series中的值一样,轴标签也可以通过函数或映射进行转换,从而得到一个新对象。轴还可以被就地修改,而无须新建一个数据结构。

In [12]: import pandas as pd

In [13]: from pandas import Series,DataFrame

In [14]: data=DataFrame(np.arange(12).reshape((3,4)),

index=['Ohio','Colorado','New York'],

columns=['one','two','three','four'])

In [15]: data

Out[15]:

one two three four

Ohio 0 1 2 3

Colorado 4 5 6 7

New York 8 9 10 11

map方法

跟Series一样,轴标签也有一个map方法:

In [16]: data.index.map(str.upper)

Out[16]: Index(['OHIO', 'COLORADO', 'NEW YORK'], dtype='object')

可以将其赋值给index,这样就可以对DataFrame进行就地修改了:

In [17]: data.index=data.index.map(str.upper)

In [18]: data

Out[18]:

one two three four

OHIO 0 1 2 3

COLORADO 4 5 6 7

NEW YORK 8 9 10 11

rename方法

如果想要创建数据集的转换版(而不是修改原始数据),比较使用的方法是rename:

In [19]: data.rename(index=str.title,columns=str.upper)

Out[19]:

ONE TWO THREE FOUR

Ohio 0 1 2 3

Colorado 4 5 6 7

New York 8 9 10 11

更新轴标签

特别说明一下,rename可以结合字典型对象实现对部分轴标签的更新:

In [20]: data.rename(index={'OHIO':'INDIANA'},columns={'three':'peekaboo'})

Out[20]:

one two peekaboo four

INDIANA 0 1 2 3

COLORADO 4 5 6 7

NEW YORK 8 9 10 11

修改某个数据集:inplace=True

Rename带我们实现了:复制DataFrame并对其索引和列标签进行赋值。如果希望就地修改某个数据集,传入inplace=True即可:

In [21]: _=data.rename(index={'OHIO':'INDIANA'},inplace=True)

In [22]: data

Out[22]:

one two three four

INDIANA 0 1 2 3

COLORADO 4 5 6 7

NEW YORK 8 9 10 11

总结

无论是map方法、rename方法,还是更新轴标签方法,亦或是修改某个数据集方法,都是python轴标签转换方法。没有好与坏之分,适用于不同对应用场景。大家在实际应用过程中,结合自己的使用场景,选择一个适合的方法即可。希望大家如小编一样喜欢python,感谢支持!记得给个关注支持一下哦!万分感谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值