打卡2:Pandas 第一节

本文介绍了Pandas库在数据分析中的重要性,详细讲解了Series和DataFrame的数据结构,包括其创建、索引操作和数据查询,特别是条件查询部分。

#CDA学习打卡 #CDA数据分析师

一、简介

pandas 是基于NumPy 的一种工具,该工具是为解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法;
Pandas主要用于数据分析、数据处理、数据可视化;

二、Pandas数据类型

(一)Series

1、一维数组,可放置各种数据类型,如整数、字符串、浮点数等;
2、Series简单应用

# 初始化
import pandas as pd 
import numpy as np
s = pd.Series([1,2,3,np.nan,5,7],name='A')
s
## 结果
# 0    1.0
# 1    2.0
# 2    3.0
# 3    NaN
# 4    5.0
# 5    7.0
# Name: A, dtype: float64

# 修改索引
s = pd.Series([1,2,3,np.nan,5,7],index=['a','b','c','d','e','f'])
s
## 结果
# a    1.0
# b    2.0
# c    3.0
# d    NaN
# e    5.0
# f    7.0
# dtype: float64

# 索引值
s.index 
## 结果
# Index(['a', 'b', 'c', 'd', 'e', 'f'], dtype='object')

# 数据的值
s.values 
## 结果
# array([ 1.,  2.,  3., nan,  5.,  7.])


# 索引赋值
s.index.name = '索引'
s
## 结果
# 索引
# a    1.0
# b    2.0
# c    3.0
# d    NaN
# e    5.0
# f    7.0
# dtype: float64

3、以时间为索引的Serirs

# 创建
dts1 = pd.DatetimeIndex(['2024-04-04 00:00:00','2024-04-04 05:00:00','2024-04-04 10:00:00'])
dts1
## 结果
# DatetimeIndex(['2024-04-04 00:00:00', '2024-04-04 05:00:00',
#                '2024-04-04 10:00:00'],
#               dtype='datetime64[ns]', freq=None)

# 生成 按一定频率的时间序列
dts2 = pd.date_range(start='2024-04-04',periods=5,freq='5H')
dts2
## 结果
# DatetimeIndex(['2024-04-04 00:00:00', '2024-04-04 05:00:00',
#                '2024-04-04 10:00:00', '2024-04-04 15:00:00',
#                '2024-04-04 20:00:00'],
#               dtype='datetime64[ns]', freq='5H')


dts3 = pd.date_range(start='2024-04-04',periods=5,freq='d')
dts3
## 结果
# DatetimeIndex(['2024-04-04', '2024-04-05', '2024-04-06', '2024-04-07',
#                '2024-04-08'],
#               dtype='datetime64[ns]', freq='D')

(二)DataFrame

1、二维表格型数据结构,可理解为Series的容器;既有行索引(index),也有列索引(columns);
2、DataFrame的简单应用

# 从字典创建
d = {'A':[1,2,3],
     'B':[4,5,6],
     'C':[7,8,9]
}
df =  pd.DataFrame(data=d)
df
## 结果

#     A	B	C
# 0	1	4	7
# 1	2	5	8
# 2	3	6	9

# 从列表创建
ll = [[4,7,10],[5,8,11],[6,9,12]]
df1 =  pd.DataFrame(data=ll,
                    index=['a','b','c'],
                    columns=['A','B','C']
                   )
df1
## 结果
# 	A	B	C
# a	4	7	10
# b	5	8	11
# c	6	9	12


# 从数组创建
aa = np.array([['11','22','33'],['44','55','66'],['77','88','99']])
df2 =  pd.DataFrame(data=aa,
                    index=['a','b','c'],
                    columns=['A','B','C']
                   )
df2
## 结果

#      A	B	C
# a	11	22	33
# b	44	55	66
# c	77	88	99

三、Pandas数据查询&条件查询

 # 创建DataFrame
import pandas as pd 
import numpy as np
d = np.array([[1,2,3,4,5],
              [6,7,8,9,10],
              [11,12,13,14,15],
              [16,17,18,19,20],
              [21,22,23,24,25]])
df = pd.DataFrame(data=d,columns=list('abcde'),index=[1,2,3,4,5])
df

在这里插入图片描述
1、简单数据查询

#数据查询
df.head(3) # 前n行 
df.tail(3) # 后n行 
df.sample(3) # 前n行 

#按列取值
df['a'] #按列名取值1
df.b  #按列名取值2
df.iloc[1:4,0] #iloc+索引取值,第一个参数表示行,第二个参数表示列

#选择多列
df[['a','b','d']]
df.iloc[:,[0,1,3]]
df.loc[:,['a','b','d']]

#按行取值
df[0:1] #取第一行
df.loc[0:1] #取第一行
df.iloc[[0,3],] #取多行
df.iloc[0:3,:] #取连续多行

#指定行列
df.iat[1,3] #按行列索引
df.at[2,'d'] #按行列名称
df.iloc[[1,3],[1,3]] #指定行列

2、条件查询


#单条件查询
df['a']>10
df[df['a']>10]
df.loc[df['a']>10]

# 单一条件&多列
df.loc[df['a']>10,['a','c','e']]

#多条件查询
df[(df['a']>10) & (df['a']>20)]
df.loc[(df['a']>10) & (df['a']>20),['a','c','e']]

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值