Pandas:Series和DataFrame的概念、常用属性和方法
本文目录:
- 一、Series和Dataframe的概念
- 二、创建Series对象
- 三、创建Dataframe对象
- (一)Series
- 1.Series的常用属性总结如下:
- 2.Series的常用方法总结如下:
- (二)Dataframe
- 1.Dataframe的常用属性
- 2.Dataframe的常用方法
一、Series和Dataframe的概念
Pandas 只有两种核心数据结构:
Series:一维数组(单列数据,带索引)。
DataFrame:二维表格(多列 Series 的集合,每列可不同数据类型)。
【特别分享】
Pandas没有独立的“行”对象源于两点原因****:
(1)设计哲学:Pandas 是围绕 列式存储(Column-oriented) 优化的,列操作(如聚合、过滤)比行操作更高效;
(2)内存布局:DataFrame 的每列(Series)在内存中连续存储,而行是跨列的,访问效率较低。
二、创建Series对象
Series是最基本的数据结构对象,DataFrame 的一列就是一个 Series;
它是一个类似于一维数组的对象;
它的创建主要包括三个部分:values(值:可为列表、字典、numpy数组、标量值等等)、index(行索引)、name(series名字),其中values是必须有的,index和name可有可无,当不指定index时,系统会默认从0开始。
Series的创建方式有多种:
代码如下(列举3种,其它类同):
import pandas as pd# 从列表创建,默认索引为 0, 1, 2...
data = [10, 20, 30, 40]
s = pd.Series(data)
print(s)# 字典的键自动成为索引
data = {'a': 10, 'b': 20, 'c': 30}
s = pd.Series(data)
print(s)# 所有值均为 5,索引需单独指定
s = pd.Series(5, index=['a', 'b', 'c'])
print(s)注意:Series的缺失值用 NaN 表示。
三、创建Dataframe对象
DataFrame是Pandas中最基本的数据结构,Series的许多属性和方法在DataFrame中也一样适用,可以理解为一个二维表结构。
Dataframe的创建方式主要包括列表创建和字典创建,还有csv文件读取,代码如下:
import pandas as pd
#从字典创建
data = {'Name': ['Alice', 'Bob', 'Charlie'],'Age': [25, 30, 35],'City': ['New York', 'London', 'Tokyo']
}df = pd.DataFrame(data)
print(df)#从列表创建
data = [['Alice', 25, 'New York'],['Bob', 30, 'London'],['Charlie', 35, 'Tokyo']
]df = pd.DataFrame(data, columns=['Name', 'Age', 'City'])
print(df)#从csv文件读取
df = pd.read_csv('data.csv') # 读取 CSV 文件
print(df.head()) # 查看前5行
四、属性和方法
Series和Dataframe的很多属性和方法是共通的。
(一)Series
1.Series的常用属性总结如下:
代码如下:
例(列举重点):
import pandas as pd
s = pd.Series([1, 2], name='my_series')
print(s) # 输出:'my_series's1 = pd.Series([1, 2, 3], name="A")
s2 = pd.Series(["X", "Y", "Z"], name="B")print(s1.ndim)
print(s1.shape)
print(s1.loc[1]) #按索引1取值
print(s1.iloc[1])#按索引位置1取值
2.Series的常用方法总结如下:
代码如下:
例(列举重点):print(df.head()) #前五条数据
print(s.describe()) #查看详情
s1=s.sample(2) #随机抽取2条数据
print(s1)
print(s1.sort_values()) #默认升序,降序需指定ascending=False#扩展:
print(s1.sort_values(ascending=False)) #降序排列,返回新的
print(s1.sort_values(ascending=True)) #升序排列,返回新的
print(s1.describe(include="all")) #打印所有字段详细信息
print(s1.describe(exclude="int,float")) #打印除了int和float的字段信息
(二)Dataframe
1.Dataframe的常用属性
2.Dataframe的常用方法
有关属性和方法整体代码如下:
例(列举部分重点):
import pandas as pd# 加载数据集, 得到df对象
df = pd.read_csv('data/scientists.csv')print('=============== 常用属性 ===============')
# 查看维度, 返回元组类型 -> (行数, 列数), 元素个数代表维度数
print(df.shape)
# 查看数据值个数, 行数*列数, NaN值也算
print(df.size)
# 查看数据值, 返回numpy的ndarray类型
print(df.values)
# 查看维度数
print(df.ndim)
# 返回列名和列数据类型
print(df.dtypes)
# 查看索引值, 返回索引值对象
print(df.index)
# 查看列名, 返回列名对象
print(df.columns)
print('=============== 常用方法 ===============')
# 查看前5行数据
print(df.head())
# 查看后5行数据
print(df.tail())
# 查看df的基本信息
df.info()
# 查看df对象中所有数值列的描述统计信息
print(df.describe())
# 查看df对象中所有非数值列的描述统计信息
# exclude:不包含指定类型列
print(df.describe(exclude=['int', 'float']))
# 查看df对象中所有列的描述统计信息
# include:包含指定类型列, all代表所有类型
print(df.describe(include='all'))
# 查看df的行数
print(len(df))
# 查看df各列的最小值
print(df.min())
# 查看df各列的非空值个数
print(df.count())
# 查看df数值列的平均值
print(df.mean())
今天分享到此结束。