pandas是基于numpy的一个数据分析包.它的数据结构与numpy的ndarry数据结构类似,它的核心数据结构为series(一维数据结构)和datafram(二维数据结构).
1.表格数据的增删改查
2.实现多表格处理
3.数据清洗操作:
缺失值,重复值,异常值,数据标准化,数据转换操作,
4.实现excel的特殊操作,生成透视表,交叉表
5.完成统计分析
# 方法一
df = pd.DataFrame(data=[['ss', 20, '男'], ['hh',20 , '男']],index = ['a','b'],colums=['name', 'age', 'sex'])
# 方法二
df = pd.DataFrame(data={
'name': ['ss', 'lx'], 'sex': ['男', '女'], 'age': [20, 21], 'class': ['0831', '0931']},
index=['a', 'b'])
因为pandas基于numpy,因此,numpy的ndarray的属性,dataframe也同样具有,
df.shape # 结构
df.ndim # 维度
df.size # 数量
df.dtypes # 元素的数据类型
df.columns # 列索引
df.index # 行索引
df.values # 元素
切一列值方法:
ser = df['name']
切多列值的方法:
df[['name','age']][:2]
索引名取值
df.loc[行索引名称/条件, 列的索引名称]
条件切片
mask = df['age'] > 18
df.loc[mask, 'name']
索引取值
df.iloc[行的位置索引, 列的位置索引]
增加一列
df['address'] = ['北京','上海','北京'] # 修改原df
增加一行
df_mini = pd.DataFrame(data={
'name':['ss','lx'],
'age':[20, 18],
'sex':['男','女'],
'class':['0831','0830']},index=['a','b'])
df3 = df.append(df_mini,ignore_index=True )
#ignore_index: 表示忽略原始索引,重新设置索引
# 删除列,inplace: 表示是否对原表进行修改,True为直接修改原始表格, False为不修改;
df3.drop(labels=['address','class'], axis=1)
df.loc[df['name']=='lx', 'class'] = '有问题'
pandas用到的统计分析方法大多是numpy中的数据分析方法
np.mean(df['age'])
np.ptp(df['age'])
df['age'].min() # 最小值
df['age'].max() # 最大值
df['age'].std() # 极差
df['age'].argmax()# 只能在series中使用
df['name'],mode() # 众数
df['name'].count() # 非空数目
df['name'].value_counts() # 只能在series中使用
pandas可以读取多种数据类型,这里介绍下读取excel数据的操作方法
pd.read_excel(r'文件路径')