欢迎阅读
Pandas
库是在数据分析时最常使用的库。它所包含的数据结构和数据处理工具的设计使得在Python中进行数据清洗和分析非常快捷。由于Pandas
功能非常多
,本文
只介绍
Series和
DataFrame
这两种数据结构的数据处理
。下面
就
开始今天的学习吧!
Series结构
Series是一种一维的数组型对象
,它包含了一个值序列和数据标签(索引)。创建的数组对象可以进行索引查找、缺失值查询、数组计算、布尔值判断等等。下面通过代码来看一下其用法。
#导入库import pandas as pd#一维数组创建data=pd.Series(data=[1,2,3,5,7])print(data)#一维数组创建,指定索引data=pd.Series(data=[1,2,3,5,7],index=['a','b','c','d','e'])print(data)#用标签进行索引data['a']#数据过滤和计算print(data[data>3]) #提取大于3的数组print(data*2) #数组值乘2'b'in data #布尔值判断pd.isnull(data) #缺失值查询data+data #数组相加
DataFrame结构
DataFrame
一种数据表的结构。
它包含已排列的列集合,每一列可以是不同的值类型(数值、字符串、布尔值等)。
DataFrame
既有行索引也有列索引,它可以被视为一个共享相同索引的
Series的字典。
下面将以
“泰坦尼克号救援”数据集
来看一下Pandas库对于DataFrame结构数据的一些用法
(公众号内发送“案例数据”,即可获得本文数据和代码)
。
#导入库
import pandas as pd
import numpy as np
#导入数据并查看前几行
titanic_survival = pd.read_csv("titanic.csv")
titanic_survival.head()
#指定列的顺续,查看数据
data=pd.DataFrame(titanic_survival,columns=['Name','Sex','Age','Survived'])
data.head()
#查看Age列的信息
age = data["Age"]
print(age.loc[0:10]) #打印前10行
age_null_true = age[age_is_null]
print (age_null_true) #打印空值行
age_null_count = len(age_null_true)
print(age_null_count) #打印非空值行数
#剔除缺失值计算平均年龄
good_ages = data["Age"][age_is_null == False]
correct_mean_age = sum(good_ages) / len(good_ages)
print (correct_mean_age)
#pivot_table函数计算不同性别的平均年龄
Sex_age=data.pivot_table(index="Sex", values="Age",aggfunc=np.mean)
print(Sex_age)
#计算幸存和遇难人的平均年龄
Survived_age=data.pivot_table(index="Survived",values="Age",aggfunc=np.mean)
print(Survived_age)
#增加一列判断年龄是否大于30
data['age_30']=data.Age>30
data.head()
#s删除列
del data['age_30']
data.head()
#进行描述性统计
print(data.describe())
对于单个数据表内部数据处理的操作就介绍这些,下面将介绍一些多个表格合并连接的用法。
#创建表
df1 = pd.DataFrame({'subject': ['语', '数', '外', '理', '化'], 'data': range(90, 95)})
df2 = pd.DataFrame({'subject': ['语', '数', '外', '史', '地'], 'data': range(90, 95)})
#对相同的列进行合并
df3 = pd.merge(df1, df2, on='subject')
print(df3)
#内连接(显示两表交集)
df4 = pd.merge(df1, df2, how='inner')
print(df4)
#左连接
df5 = pd.merge(df1, df2, how='left')
print(df5)
#右连接
df6= pd.merge(df1, df2, how='right')
print(df6)
#外连接
df7 = pd.merge(df1, df2, how='outer')
print(df7)
对于
DataFrame
结构
的数据处理方法常用的大概就是这些。到这里本文的内容也结束了,希望你可以有所收获!