美文网首页
115、pandas基本功能

115、pandas基本功能

作者: 陈容喜 | 来源:发表于2017-12-27 21:08 被阅读0次

1、重新索引

pandas对象的一个重要方法是reindex,其作用是创建一个适应新索引的型对象。例如: 1.png 调用该Series的reindex将会根据新索引进行重排。如果某个索引值当前不存在,就引入缺失值: 2.png 对于时间序列这样的有序数据,重新索引时需要做一些插值处理。下面的例子调用了method中的ffill实现前向充值: 3.png 下面列出reindex的(插值)method选项: 4.png 对于DataFrame,reindex可以修改(行)索引、列,或两个都修改。如果仅传入一个序列,则会重新索引行,插值只能按行应用(即轴0): 5.png 使用columns关键字即可重新索引列: 6.png 同时对行和列进行重新索引: 7.png 利用ix的标签索引功能: 8.png 下面列出了reindex函数的各参数及说明: 9.png

2、丢弃指定轴上的项

丢弃某条轴上的一个或多个项,可以使用drop方法,返回的是一个在指定轴上删除了指定值的新对象: 10.png 对于DataFrame,可以删除任意轴上的索引值: 11.png

附源码:

# coding: utf-8

# In[1]:

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


# In[2]:

obj = Series([4.5,2.3,-7,6],index= [3,4,1,2])
print (obj)


# In[3]:

# 调用Srries的reindex进行重排
obj2 = obj.reindex([1,2,3,4,5])
print(obj2)


# In[4]:

obj2 = obj.reindex([1,2,3,4,5,6],fill_value=0) # fill_value是把NaN值进行赋值
print(obj2)


# In[5]:

obj3 = Series(['blue','purple','yellow'],index=[0,2,4])
print( obj3)


# In[6]:

re_obj3 = obj3.reindex(range(6),method='ffill') # ffill向前充值
print(re_obj3)


# In[7]:

frame = DataFrame(np.arange(9).reshape((3,3)),index=['a','c','d'],
                  columns=['Guangdong','Shandong','Henan'])
print (frame)


# In[8]:

frame2 = frame.reindex(['a','b','c','d'],method='ffill')
print (frame2)


# In[9]:

# 使用columns关键字索引列
province = ['Sichuan','Henan','Anhui']
frame2 = frame.reindex(columns=province)
print (frame2)


# In[10]:

# 同时对行和列索引
frame2 = frame.reindex(index=['a','b','c','d'],columns=province)
print (frame2)


# In[11]:

# 利用ix标签索引功能
frame3 = frame.ix[['a','b','c','d'],province]
print(frame3)


# In[12]:

obj = Series(np.arange(5),index=['a','b','c','d','e'])
print(obj)


# In[13]:

# 丢弃指定轴上的项
new_obj = obj.drop('c')
print(new_obj)


# In[14]:

# 使用DataFrame删除任意轴上的索引值
data = DataFrame(np.arange(16).reshape((4,4)),
                 index=['Guangdong','Shandong','Sichuan','Henan'],
                 columns=['one','two','three','four'])
print(data)


# In[15]:

data2 = data.drop(['Sichuan','Shandong'])
print(data2)


# In[16]:

data2 = data.drop('two',axis=1)
print(data2)


# In[17]:

data2 = data.drop(['two','four'],axis=1)
print(data2)

相关文章

网友评论

      本文标题:115、pandas基本功能

      本文链接:https://www.haomeiwen.com/subject/nrdpgxtx.html