数据分析 -- pandas

发布于:2024-04-11 ⋅ 阅读:(242) ⋅ 点赞:(0)

1. Pandas简介

  1. Pandas基于Numpy实现,扩展数据类型,更关注数据与索引之间的关系;
  2. Pandas可以处理各种文件格式,CSV文件、JSON文件、XML文件、Parquet文件、SQL文件
  3. Pandas提供两个数据类型:Series,DataFrame;

2. Pandas类型

2.1 Series类型

  1. 一组(列)数据和其相关的数据索引组成,索引在左边值在右边,可以通过索引访问;
  2. 可以保存任何类型数据(int/str/float/obj…)的一维数组;
  3. 如果没指定索引,会自动创建一个0到n-1的整数型索引,也可以使用index指定索引
  • 数据构造
# 默认索引
ser = pd.Series([9,8,7,6,5])
print(ser)
>0    9
 1    8
 2    7
 3    6
 4    5
 dtype: int64

# 指定索引
ser = pd.Series(range(5), index= ['a','b','c','d','e'])
print(ser)
>a    0
 b    1
 c    2
 d    3
 e    4
 dtype: int64

# numpy数组创建
ser = pd.Series(np.array([1,2,3]))
print(ser)
>0    1
 1    2
 2    3
 dtype: int64

# 字典创建
ser = pd.Series({'name': '张三', 'age': 18, 'sex': 'F','hobby': '足球'})
print(ser)
>name     张三
 age      18
 sex       F
 hobby    足球
 dtype: object
0
name 张三
age 18
sex F
hobby 足球

2.2 DataFrame类型

  1. 表格型的数据结构,一组有序的列数据和其共用的索引组成,每列可以是不同的值类型(数值、字符串、布尔值等);
  2. DataFrame既有行索引也有列索引,列可以通过列名访问,行通过索引访问
  • 数据构造
# 二维数组转DataFrame对象
list = [[12,14,16,18], [2,4,6,8], [22,24,26,28]]
df = pd.DataFrame(list, columns = ['a','b','c','d'], index = [11,22,33])
print(df)
>  	a	b	c	d
 11	12	14	16	18
 22	2	4	6	8
 33	22	24	26	28

# dict转DataFrame对象
data = {'name':['陈大','钱二','张三','李四'],
       'age':[25,27,26,23],
       'sex':['男','女','男','男'],
       'hobby':['足球','篮球','羽毛起','乒乓球'],
       'height': [180, 167, 145, 187]}
df = pd.DataFrame(data)
print(df)
>    name  age  sex  hobby  height
 0   陈大   25   男    足球     180
 1   钱二   27   女    篮球     167
 2   张三   26   男   羽毛起     145
 3   李四   23   男   乒乓球     187
name age sex hobby height
0 陈大 25 足球 180
1 钱二 27 篮球 167
2 张三 26 羽毛起 145
3 李四 23 乒乓球 187

3. pandas操作

3.1 数据查询

# 获取index
df.index

# 获取values(type:<class 'numpy.ndarray'>)
df.values  

# 取行
df.iloc[2]

# 取列
df.iloc[:,2]
# df['sex']
>0123    男
 Name: sex, dtype: object

# 切片
df.iloc[1:3,1:3]
>    age sex
 1   272   26

3.2 数据分析

3.3 数据清洗


网站公告

今日签到

点亮在社区的每一天
去签到