Pandas基本功能

重建索引

reindex用于创建一个符合新索引的对象,如果某个索引值之前不存在,则引入缺失值

obj2 = obj.reindex(['a','b'])

为解决缺失值问题,使用ffill方法会将值前向填充

obj3.reindex(range(6),method='ffill')

reindex可选择重建行列索引

frame.reindex(columns=states)
frame.reindex(index=states)

loc可进行更简洁的标签索引

frame.loc[['a','b'], states]
删除条目
obj.drop(['a','b'])
obj.drop('c)

调用drop会根据行标签删除值,若要按列标签

obj.drop('a',axis=1)
obj.drop('a',axis='columns')
索引选择数据

布尔数组选择

data[data['a']>5]

loc轴标签选择,iloc整数标签选择

data.loc[:'c', 'one']
data.iloc[:3, 1]
填充值

两个df加到一起会导致在一些不重叠的位置出现NA
使用add,并使用fill_value填充

df1.add(df2, fill_value=0)
DataFrame和Series间的操作

DataFrame和Series间的操作类似于numpy中的广播机制

series = frame.iloc[0]
frame - series

如果想改为在列上进行广播,在行匹配,必须使用算术方法

series = frame['column0']
frame.sub(series, axis='index')
函数映射

将函数应用到一行或一列的一维数组上,apply方法可实现功能,返回是每一列的结果

f = lambda x :x.max() - x.min()
frame.apply(f)

若要每行调用一次

frame.apply(f, axis='columns')
排序与排名

对Dataframe排序,sort_index()
axis:按行或列,ascending:升序或降序

obj.sort_index(axis=0,ascending=False)

按Series值排序,使用sort_values

series.sort_values(by='b')
series.sort_values(by=['a', 'b'])

排名,对数组从1到有效数据点总数分配名次的操作。

obj.rank()

你可能感兴趣的:(Pandas基本功能)