pandas 第一行_Pandas、Pandas、Pandas数据处理

这篇说一下pandas,numpy主要做矩阵处理工作,pandas主要做数据处理,pandas在后续python数据处理工作中占挺大一部分比例,本篇就记录一下pandas的基础操作。(说明一下,本篇主要记录pandas的数据处理方式,所做的数据处理和本数据集没有任何联系。)

pandas 的主要数据类型为Series和DataFrame。Series是一维数据,有点像是带着索引的ndarry,DataFrame为矩阵格式,而且每一列有不同的数据格式,这点与ndarry明显差别,而且DataFrame行与列均具有索引。

一、数据读取

接下来用pandas读取一个csv格式的文件,泰坦尼克的数据。

import pandas as pd
titanic = pd.read_csv('train.csv')

首先导入pandas库,并且为了方便使用,进行重命名。

然后使用read_csv方法对文件进行读取。

使用head方法,默认显示数据的前5行。

titanic.head()

pandas 第一行_Pandas、Pandas、Pandas数据处理_第1张图片

这样方便我们快速了解数据。也可以读取后几行。

titanic.tail(3)#读取尾巴

319277bf895da61bd21ef561aea116ee.png
传入参数,来确定读取文件行数。
titanic.info()

pandas 第一行_Pandas、Pandas、Pandas数据处理_第2张图片
info方法来观察数据维度,各字段数据类型,数据缺失情况。

二、索引

接下来是数据索引,需要用到loc函数。

titanic.loc[0]

pandas 第一行_Pandas、Pandas、Pandas数据处理_第3张图片
得到第一行的数据。

DataFrame会将首行默认为是列名,想要取某一列的数据,只需传入该列的列名即可。

titanic['Name']

pandas 第一行_Pandas、Pandas、Pandas数据处理_第4张图片
titanic.iloc[[1,4],[3,5]]

5373d1136dbfc5d6cfe06df4593c00e2.png
可以使用iloc方法进行指定行、列数据的提取。

提取列名columes方法,将数据的列名进行提取,tolist方法可以将提取的列名生成为list格式。

titanic.columns.tolist()

pandas 第一行_Pandas、Pandas、Pandas数据处理_第5张图片

做一个对本数据毫无意义,不过以后可能用到的,对列名进行筛选,然后将筛选过的列名对数据进行索引,随便选个例子,找出以e结尾的列名,并且进行数据索引。

columns = titanic.columns.tolist()
new_columns = []
for i in columns:
    if i.endswith('e'):
        new_columns.append(i)
new_df = titanic[new_columns]
new_df.head()

pandas 第一行_Pandas、Pandas、Pandas数据处理_第6张图片

三、运算

和ndarry一样,可以对浮点型或整数型数据进行加减乘除运算。

titanic.Fare*10

pandas 第一行_Pandas、Pandas、Pandas数据处理_第7张图片
对Fare列乘以10.

或者两个整数或浮点型的列进行加减乘除,会将对应位置的列的数据进行处理。

titanic.PassengerId*titanic.Fare

pandas 第一行_Pandas、Pandas、Pandas数据处理_第8张图片
对应行相乘,同样,加减乘除都适用。
titanic['new_column'] = titanic.PassengerId*titanic.Fare
titanic.head()

pandas 第一行_Pandas、Pandas、Pandas数据处理_第9张图片

可以将处理过新生成的列增加近DataFrame。

print(titanic['Age'].max())
print(titanic['Age'].min())
print(titanic['Age'].mean())

91c28b431045a3fb2d1a6808f5ae581d.png

和numpy类似,可以对需要的列求最大值、最小值,平均值等

四、数据处理。

对制定列进行排序,适用sort_values方法。Age为指定要排序的列。inplace=True,为新生成一个DataFrame。ascending=Fales为从大到小排。默认为True从小到大排。空值会按最小值进行计算。

titanic.sort_values('Age',inplace=True,ascending=False)
titanic.Age

pandas 第一行_Pandas、Pandas、Pandas数据处理_第10张图片

缺失值判断,使用isnull函数。

titanic.Age.isnull()

pandas 第一行_Pandas、Pandas、Pandas数据处理_第11张图片
True为缺失值,False为不缺失。

对缺失值进行补充用到fillna函数。

titanic['Age']=titanic['Age'].fillna(titanic['Age'].mean())
titanic.Age.isnull()#使用平均值对空值进行填充。

pandas 第一行_Pandas、Pandas、Pandas数据处理_第12张图片

你可能感兴趣的:(pandas,第一行)