1. 前言
pandas 在机器学习和深度学习的过程中是十分重要的。这个教程基于天池的pandas实践课程。不同的是本文会对其进行简化。力求用到最核心的内容,其他部分请各位参考原文链接:
在进行所有的操作之前,必须的操作为:
本文的pandas版本为1.1.5
import pandas as pd
import numpy as np
2. 文件读取
由于数据集的类型还是比较复杂的,所以这里多写一些数据类型。
以鸢尾花数据集为例:
2.1 读入csv
df_csv = pd.read_csv('iris.csv',delimiter=",")
df_csv
2.2 读取 txt文件
df_txt = pd.read_table('iris.txt',delimiter=",")
df_txt
分隔符最好加上,以txt文件为例,如果不加上的话,可能读取的效果是这样的。
2.3 读取excel
df_excel = pd.read_excel('iris.xlsx')
df_excel
3. 两种数据结构
3.1 Series 一维数据
s = pd.Series(data=[100,'a',{'dic1':5}],
index=pd.Index(['id1',20,'third'],name="my_idx"),
dtype='object',name='my_name')
s
构建过程中,:左侧是索引,右侧是数据。索引和数据都可以是各种类型的数据。
- 属性
s.index
s.values
s.shape
3.2 DataFrame 二维数据
二维数据就是我们常见的表格了。在数据统计中最为常用。
- 构建方式
data = [[1, 'a', 1.2], [2, 'b', 2.2], [3, 'c', 3.2]]
df = pd.DataFrame(data = data,
index = ['row_%d'%i for i in range(3)],
columns=['col_0', 'col_1', 'col_2'])
df
构建方式:逐列
df = pd.DataFrame(data = {'col_0': [1,2,3],
'col_1':list('abc'),
'col_2': [1.2, 2.2, 3.2]},
index = ['row_%d'%i for i in range(3)])
df
- 属性
其属性和Series类似,自行尝试
4. 常用操作
4.1 汇总
- 前n个值
df_csv.head(5)
- 后n个值
df_csv.tail(3)
- 主要信息
df_csv.info()
4.2 统计
- 主要统计值
df.describe()
4.3 排序
df_demo = df_csv[['Sepal.Length','Sepal.Width']]
df_demo.sort_values('Sepal.Length')
4.4 分组
grouped_df = df_all_objs.groupby(by='obj_cat_name')
grouped_df.groups
可以看到,这种操作得出的是一种字典,结构如上。