一、pandas简介
pandas是基于Numpy的一种工具,该工具是为解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使python成为强大而高效的数据分析环境的重要因素之一。
二、pandas安装
在控制台输入下面命令:
pip3 install pandas
然后输入pip3 show pandas 查看是否安装成功
三、使用pandas
注意:例子中出现的字段以及数据都是举例,可以根据实际情况进行使用!!!!
1.生成数据表
1.1导入CSV或者xlsx文件
df = pd.DataFrame(pd.read_csv('name.csv',header=1))
df = pd.DataFrame(pd.read_excel('name.xlsx'))
2.数据表信息查看
2.1.维度查看:
df.shape
2.2数据表基本信息(维度、列名称、数据格式、所占空间等)
df.info()
2.3每一列数据的格式:
df.dtypes
2.4某一列格式:
df['B'].dtype
2.5空值:
df.isnull()
2.6查看某一列空值:
df['B'].isnull()
2.7查看某一列的唯一值:
df['B'].unique()
2.8查看数据表的值:
df.values
2.9查看前5行数据、后5行数据:
df.head() #默认前5行数据
df.tail() #默认后5行数据
3.数据表清洗
3.1用数字0填充空值:
df.fillna(value=0)
3.2使用列prince的均值对NA进行填充:
df['prince'].fillna(df['prince'].mean())
3.3清除city字段的字符空格:
df['city']=df['city'].map(str.strip)
3.4更改数据格式:
df['price'].astype('int')
3.5更改列名称
df.rename(columns={'category': 'category-size'})
3.6删除后出现的重复值:
df['city'].drop_duplicates()
3.7删除先出现的重复值:
df['city'].drop_duplicates(keep='last')
3.8数据替换:
df['city'].replace('sh', 'shanghai')
4.数据提取
4.1按索引提取单行的数值
df_inner.loc[3]
4.2按索引提取区域行数值
df_inner.iloc[0:5]
4.3重设索引
df_inner.reset_index()
4.4设置日期为索引
df_inner=df_inner.set_index('date')
4.5提取4日之前的所有数据
df_inner[:'2013-01-04']
4.6使用iloc按位置区域提取数据
df_inner.iloc[:3,:2] #冒号前后的数字不再是索引的标签名称,而是数据所在的位置,从0开始,前三行,前两列。
4.7适应iloc按位置单独提起数据
df_inner.iloc[[0,2,5],[4,5]] #提取第0、2、5行,4、5列
4.8使用ix按索引标签和位置混合提取数据
df_inner.ix[:'2013-01-03',:4] #2013-01-03号之前,前四列数据
4.9判断city列的值是否为北京
df_inner['city'].isin(['beijing'])
4.10判断city列里是否包含beijing和shanghai,然后将符合条件的数据提取出来
df_inner.loc[df_inner['city'].isin(['beijing','shanghai'])]
4.11提取前三个字符,并生成数据表
pd.DataFrame(df_inner['category'].str[:3])
5.数据汇总
对所有的城市列进行计数汇总
df_inner.groupby('city').count()
按城市对id字段进行计数
df_inner.groupby('city')['id'].count()
对两个字段进行汇总计数
df_inner.groupby(['city','size'])['id'].count()
对city字段进行汇总,并分别计算prince的合计和均值
df_inner.groupby('city')['price'].agg([len,np.sum, np.mean])
6.数据输出
6.1写入Excel
df_inner.to_excel('excel_to_python.xlsx', sheet_name='bluewhale_cc')
6.2写入到CSV
df_inner.to_csv('excel_to_python.csv')