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()

9038721b15307a5685dae4ad3a9a7f5d.png

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

titanic.tail(3)#读取尾巴

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

3daa9968080bd36c94d2c36db0bb4d5f.png
info方法来观察数据维度,各字段数据类型,数据缺失情况。

二、索引

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

titanic.loc[0]

16f833e52e6b181719a47e5f91380a5d.png
得到第一行的数据。

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

titanic['Name']

3044b54f3fdcce92f1bd8e76f72a390f.png
titanic.iloc[[1,4],[3,5]]

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

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

titanic.columns.tolist()

856674b702bf9576cd43372136bcbc16.png

做一个对本数据毫无意义,不过以后可能用到的,对列名进行筛选,然后将筛选过的列名对数据进行索引,随便选个例子,找出以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()

548a1fc8cdf0f735e233720b3ed589a6.png

三、运算

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

titanic.Fare*10

67b4bf670020b431eb65ce2d8a13c746.png
对Fare列乘以10.

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

titanic.PassengerId*titanic.Fare

b065f284e724549776cfe0ea7041aee4.png
对应行相乘,同样,加减乘除都适用。
titanic['new_column'] = titanic.PassengerId*titanic.Fare
titanic.head()

f093eaed2a7ab40ae2913b5dfb02ee9b.png

可以将处理过新生成的列增加近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

b468f66490c269d8d45aecf7970e5c2e.png

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

titanic.Age.isnull()

59fd5347c23f2416da637d1a9956489b.png
True为缺失值,False为不缺失。

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

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

e89da7a22a800c27c3298e86622fe30c.png
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值