134、pandas操作——替换和重命名轴索引

替换值

在下面的例子中,-999表示缺失数据的标记值,使用replace替换为pandas能够理解的NA值:
1.png

传入一个有待替换值组成的列表及一个替换值实现一次性替换多个值:
2.png

针对不同的值进行不同的替换,需要传入一个由替换关系组成的列表:
3.png

在replace中传入字典实现替换:
4.png

重命名轴索引

跟Series中的值一样,轴标签可以通过函数或映射进行转换。如下面,使用map方法修改轴标签:
5.png

使用rename方法修改轴标签,rename只是复制DataFrame并对其索引和列标签进行赋值,并没有修改原始数据:
6.png

rename可以结合字典型对象实现对部分轴标签的更新:
7.png

源码:

# coding: utf-8

# ## 替换值

# In[1]:

import numpy as np
from pandas import Series,DataFrame
import pandas as pd


# In[2]:

data = Series([1,-999,2,-999,-1001,5])
print(data)


# In[3]:

# 使用replace替换标记值
data.replace(-999,np.nan)


# In[4]:

# 传入一个有待替换值组成的列表及一个替换值实现一次性替换多个值
data.replace([-999,-1001],np.nan)


# In[5]:

# 传入一个由替换关系组成的列表,实现对不同的值进行不同的替换
data.replace([-999,-1001],[np.nan,0])


# In[6]:

# 在replace中传入字典实现替换
data.replace({-999:np.nan,-1001:0})


# ## 重命名轴索引

# In[7]:

data = DataFrame(np.arange(12).reshape((3,4)),
                 index=['Ohio','Colorado','New York'],
                 columns=['one','two','three','four'])
print(data)


# In[8]:

# 使用map方法修改轴标签
data.index = data.index.map(str.upper)
print(data)


# In[9]:

# 使用rename修改轴标签
data.rename(index=str.title,columns=str.upper)


# In[10]:

# rename结合字典型对象实现对部分轴标签的修改:
data.rename(index={'OHIO':'INDINAN'},
            columns={'three':'peekaboo'})

你可能感兴趣的:(134、pandas操作——替换和重命名轴索引)