一、重新索引
(1)reindex方式
obj = pd.Series([‘blue‘, ‘purple‘, ‘yellow‘], index=[0, 2, 4]) print(obj) obj.reindex(range(6), method=‘ffill‘)#使用ffill可以实现前向值填充 print(obj)
对于DataFrame,reindex只传递一个序列时,会重新索引结果的行。
frame = pd.DataFrame(np.arange(9).reshape((3, 3)),index=[‘a‘, ‘c‘, ‘d‘],columns=[‘Ohio‘, ‘Texas‘, ‘California‘]) print(frame) frame2 = frame.reindex([‘a‘, ‘b‘, ‘c‘, ‘d‘]) print(frame)
(2)对于DataFrame列,可以用columns关键字重新索引
states = [‘Texas‘, ‘Utah‘, ‘California‘] frame.reindex(columns=states)
二、丢弃指定轴上的项,drop方法
(1)Series
obj = pd.Series(np.arange(5.), index=[‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘]) obj.drop(‘c‘) obj.drop([‘c‘,‘d‘])
(2)DataFrame
data = pd.DataFrame(np.arange(16).reshape((4, 4)), index=[‘Ohio‘, ‘Colorado‘, ‘Utah‘, ‘New York‘], columns=[‘one‘, ‘two‘, ‘three‘, ‘four‘]) #删除行 data.drop([‘Ohio‘, ‘Colorado‘]) #删除列,通过传递axis=1或axis=‘columns‘可以删除列的值 data.drop(‘two‘,axis=1) data.drop([‘two‘, ‘four‘], axis=‘columns‘) obj.drop(‘c‘, inplace=True)#就地修改对象,不会返回新的对象,小心使用inplace,它会销毁所有被删除的数据。
原文:https://www.cnblogs.com/yuhou/p/11283417.html