df=pd.dataFrame(data=‘数据的内容’,columns=[‘行标题1’,‘行标题2’],index=i)
list(zip(‘复合数据1’,‘复合数据2’))
df.value():值
df.ix[行范围, 列范围]
df.loc[起始索引(包含):终止索引(包含)]
df.iloc[起始索引(包含):终止索引(不包含)]
选择 top-N 个记录 (默认是 5 个)
df.head()
选择 N-bottom 个记录 (默认是 5 个)
df.tail()
把列(column)放置到索引位置
df.stack()
在索引包含了原来的列名字
df.stack().index
拆解列字符索引
df.unstack()
创建一个 groupby 对象
df.grouby(‘abc’)
设置默认行序号:as_index=False
删除索引e
df.drop(‘e’)
数学运算:
加法:add()
减法:sub()
乘法:mul()
除法:div()
中位数:median()
求和:sum()
最大值:max()
最小值:min()
df2.sort_values(by=‘age’) # 按 age 升序排列
直接修改值的大小:
df3.iat[1, 1] = 2
以时间为序号
pd.date_range(start=‘2018-01-01’, end=‘2018-12-31’, freq=‘D’)
转换时区
tz_localize(‘UTC’)
letters = ['A', 'B', 'C']
numbers = list(range(20))
mi = pd.MultiIndex.from_product([letters, numbers]) # 设置多重索引
s = pd.Series(np.random.rand(60), index=mi) # 随机数
多重索引切片:
s.loc[pd.IndexSlice[:‘B’, 5:]]
更改列名称:
frame.index.names = [‘first’, ‘second’]
将priority列的yes改为Ture,no改为False
df[‘priority’].map({‘yes’: True, ‘no’: False})