Series
序列
创建的三种方法
import numpy as py
import pandas as pd
s1 = pd.Series((1,2,3,4))
s1
s1.values
s1.index
s2 = pd.Series(np.arange(10))
s2
s3 = pd.Series({'1':1,'2':2,'3':3})
s3.values
s3.index
创建时的参数
访问数据
与python的内置类型dict的访问方式一样
常用函数与属性
函数 | 作用 |
---|
to_dict() | 转化为字典类型 |
isnull | 返回布尔method,类似一数组,判断是否为null |
notnull | 返回布尔method,类似一数组,判断是否为null |
属性 | 作用 |
name | 名称 |
index | 索引 |
values | Series的值 |
index.name | 索引的名称 |
Dataframe
常用函数和属性
名称 | 作用 |
---|
read_clipboard() | 从剪切板里得到Dataframe数据 |
属性 | 作用 |
columns | 得到所有的列名称 |
| |
添加列
df = pd.read_sql('meal_order_detail1',con=engine,columns=['order_id','counts', 'amounts','cost', 'discount_amt'])
df['new1'] = 1
df['new2'] = 2
删除列
df.drop(labels='new1', axis=1, inplace=True)
del df['new2']
修改列的数据
统计
排序
s1 = pd.Series(np.random.randint(1,10,size=5),index='dbcae')
s1.index
s1.values
s1.sort_index()
s1
s1.sort_values()
s1
df1.sort_index(axis=0,by='row_name')
df1.sort_index(axis=1,by='column_name')
上课代码
import numpy as np
import pandas as pd
s1 = pd.Series(np.random.randint(4,10,size=6),index=list('adfebc'))
s1 = pd.Series(np.random.randint(4,10,size=4),index=[['a','a','b','b'],[1,2,1,2]])
s1.index.names=['country','state']
s2 = pd.Series(np.random.randint(4,10,size=6), index = [['a','a','a','b','b','b'],[1,2,3,1,2,3]])
s2
index = pd.MultiIndex.from_tuples([('a',1),('a',2),('a',3),('b',1),('b',2),('b',3)],names=['key1','key2'])
index1=pd.MultiIndex.from_product(iterables=[['a','b'],[1,2,3]], names = ['key1','key2'])
s1['a']
s1['a':'b']
s1[:,1]
s1.loc[:,1]
s2.mean()
s2.mean(level=0)
s2.mean(level=1)
index = pd.MultiIndex.from_tuples([('A','A1'),('A','A2'),('B','B1'),('B','B2'),('B','B3')])
df1 = pd.DataFrame(np.random.randint(4,10,size=(5,3)), index = index)
index=pd.MultiIndex.from_product([[2013,2014],[1,2]],names=['year','visit'])
index
columns=pd.MultiIndex.from_product([['Bob','Guido','Sue'],['HR','Temp']],names=['sunject','type'])
columns
df2 = pd.DataFrame(np.random.randint(30,40,size=(4,6)),index=index,columns=columns)
df2
df2.loc[2013,:]
df2.loc[2013,('Bob','HR')]
df2
s1[:,1]
idx = pd.IndexSlice
df2.loc[idx[:,1],:]
df2.loc[:,idx[:,'Temp']]
s1
s1.unstack()
s1.unstack(level=0)
s1.unstack(level=0).stack()
df3 = df2.reset_index(inplace=False)
df3
df4 = df3.set_index(['year','visit'])
df4
df2
df2.index
df2.swaplevel()
df2.swaplevel(axis=1)
df2
df2.sort_index()
df2.sort_index(level=1,ascending=False)
df5 = df2.loc[:,idx[:,'Temp']]
df5.mean(axis=0,level=0)