web服务器Pandas

Pandas(索引对象)

2018-11-10  本文已影响6人  GHope

获取索引对象

obj = pd.Series(range(3), index=['a', 'b', 'c'])

index = obj.index
索引对象

Index对象是不可变的,因此用户不能对其进行修改

index[1] ='d'
索引对象不可变

不可变可以使Index对象在多个数据结构之间安全共享

labels = pd.Index(np.arange(3))

obj2 = pd.Series([1.5, -2.5, 0], index=labels)
index对象共享

基本功能

pandas对象的一个重要方法是reindex,其作用是创建一个新对象,它的数据符合新的索引。

obj = pd.Series([4.5, 7.2, -5.3, 3.6], index=['d', 'b', 'a', 'c'])

obj2 = obj.reindex(['a', 'b', 'c', 'd', 'e'])
reindex创建新对象

时间序列这样的有序数据,重新索引时可能需要做一些插值处理。method选项即可达到此目的,例如,使用ffill可以实现前向值填充。

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

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

reindex可以修改(行)索引和列。只传递一个序列时,会重新索引结果的行。

frame = pd.DataFrame(np.arange(9).reshape((3, 3)),  
    index=['a', 'c', 'd'],  
    columns=['Ohio', 'Texas', 'California'])

frame2 = frame.reindex(['a', 'b', 'c', 'd'])
重新索引

列可以用columns关键字重新索引

states = ['Texas', 'Utah', 'California']

frame.reindex(columns=states) 
列的重新索引

丢弃指定轴上的项

drop方法返回的是一个在指定轴上删除了指定值的新对象。

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

new_obj  = obj.drop('c')

obj.drop('a','c')
drop

对于DataFrame,可以删除任意轴上的索引值

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

data.drop(['Utah','New York'])
删除行

通过传递axis=1或axis='columns'可以删除列的值

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

data.drop(['two', 'four'], axis='columns')
利用axis删除列
上一篇下一篇

猜你喜欢

热点阅读