数据预处理 1.2 Series和DataFrame

本文介绍了如何使用Python的pandas库创建和操作Series与DataFrame,包括数据创建、基本操作、布尔索引、数值运算,以及DataFrame的高级特性如列标签操作和数据筛选。通过实例演示了如何利用布尔索引进行条件选择和数据分析。
摘要由CSDN通过智能技术生成

目录

1. Series详解

1.1 创建Series

1.2 Series常用操作

1.3 bool索引

 1.4 Series运算

2. DataFrame详解

2.1 创建DataFrame

2.2 DataFrame常用操作

2.3 bool索引

2.4 DataFrame运算

2.5 行标签和列标签操作


1. Series详解

1.1 创建Series

1)方法一:传入一个Python列表

s=pd.series(['banana',42)]
print(s)

输出的结果会显示其行标签,默认是0,1,2,3...

2)方法二:创建时用index参数指定行标签

s=pd.Series(['Tom',19],index=['name','age'])
print(S)

切记此时行标签个数必须和Python列表个数一致

1.2 Series常用操作

常用属性和方法:

属性或方法

说明

s.shape查看Series数据的形状
s.size查看Series的个数
s.index获取Series数据的行标签
s.values获取Series数据的元素值
s.keys()与s.index效果相同
s.loc[]根据行标签获取Series中的某个元素数据
s.iloc[]根据行位置获取Series中的某个元素数据
s.dtypes查看Series数据元素的类型

常用统计方法:

方法说明
s.mean()计算Series数据中元素的平均值
s.max()计算Series数据中元素的最大值
s.min()计算Series数据中元素的最小值
s.std()计算Series数据中元素的标准差
s.value_counts()统计Series数据中不同元素的个数
s.count()统计Series数据中非空元素的个数
s.describe()显示Series数据中元素的各种统计值

1.3 bool索引

我们可以从Series获取bool索引为True的位置对应的数据。

#从student_score表中求出大于平均分的数值
#首先求出其bool索引
student_score>student_score.mean()
#利用bool索引获取大于平均分的数值,即bool索引是True的位置对应的数据
studet_score[student_score>student_score.mean()]

 1.4 Series运算

  1. Series和数值型数据运算:Series每个元素和该数值逐一运算,返回新的Series
  2. Series和Series运算:两个Series数据相同行标签的元素分别运算,如果不存在相同行标签,计算结果为NaN,最终也会返回新的Series

2. DataFrame详解

2.1 创建DataFrame

1)使用字典创建DataFrame

students=pd.DataFrame({'name':['Tom','Bob'],
                        'age':[18,19],
                        'score':[85,89]})
students

2)创建时用index指定行标签,用columns指定列的排序

students=pd.DataFrame({'name':['Tom','Bob'],
                        'age':[18,19],
                        'score':[85,89]},
                        columns=['age','name','score'],
                        index=['student1','student2])
students

3)也可以使用嵌套列表创建DataFrame

students=pd.DataFrame([['Tom','Bob'],
                        [18,19],
                        [85,89]],
                        index=['name','age','score'],
                        columns=['student1','student2'])
students

2.2 DataFrame常用操作

属性或方法说明
df.shape查看DataFrame数据的形状
df.size查看DataFrame数据元素的总个数
df.ndim查看DataFrame数据的维度
len(df)获取DataFrame数据的行数
df.index获取DataFrame数据的行标签
df.columns获取DataFrame数据的列标签
df.dtypes查看DataFrame每列数据元素的类型
df.info()查看DataFrame每列的结构
df.head(n)获取DataFrame的前n行数据,默认n=5
df.tail(n)获取DataFrame的后n行数据,默认n=5

常用统计方法:

方法

说明

s.max()计算DataFrame数据中每列元素的最大值
s.min()计算DataFrame数据每列元素的最小值
s.count()统计数据中每列非空元素的个数
s.describe()显示DataFrame数据中每列数据的各种统计值

注意:describe方法默认显示数值型列的统计信息,如果想显示非数值型列的统计信息可以设置include参数(使用include参数前需要导入numpy包)

import numpy as np
students.describe(include=[np.object_])

2.3 bool索引

与Series类似,我们可以从DataFrame获取bool索引为True的位置对应的行数据。

#从students表中求出score列中大于平均分的数值
#首先求出其bool索引
students>students.mean()
#利用bool索引获取大于平均分的数值所在列的数据
studets[students>students.mean()]

2.4 DataFrame运算

  1. DataFrame和数值型数据运算:DataFrame每个元素和该数值逐一运算,返回新的DataFrame  字符串*2即为字符串变成两遍
  2. DataFrame和DataFrame运算:两个DataFrame数据相同行标签和相同列标签的元素分别运算,如果不存在相同行标签或列标签,计算结果为NaN,最终也会返回新的DataFrame

2.5 行标签和列标签操作

1)标签重置的方法:df.reset_index()

reset_index返回值是一个新的DataFrame

2)加载数据时指定某列作为数据的行标签:参数 index_col

3)加载数据后,修改行标签和列标签:

  • 方法一:修改后返回一个新的DataFrame

df.rename(index={'原行标签名':'新行标签名',...},columns={'原列标签名':'新列标签名',...})

  • 方法二:直接对原DataFrame修改

df.index=['新行标签名1','新行标签名2',...]

df.columns=['新列标签名1','新列标签名2',...]

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值