#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']]



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

被折叠的 条评论
为什么被折叠?



