课程作业2——Pandas入门基本操作

#课程作业2#   个人学习笔记

直播链接:【Pandas入门-哔哩哔哩】 https://b23.tv/8QxAQMX

笔记用到的资料:https://pan.quark.cn/s/bc1db642d867

Pandas简单了解

        Pandas是Python中用于数据处理和数据分析,支持大量数据操作和数据分析功能,包括数据清洗、转换、筛选、聚合、透视表、时间序列分析等。

        DataFramePandas中最重要的数据结构之一,它类似于Excel中的电子表格,由多个列组成,每个列可以是不同的数据类型。DataFrame可以从多种数据源中读取数据,包括CSV、Excel、SQL数据库等。

准备工作

打开jupyter notebook,把资料里的TASK导入,然后打开。进入如下页面

notebook使用操作参考:Python入门(含python基础语法+Miniconda搭建+Jupyter Notebook简单使用)-CSDN博客

正式学习

一.TASK01-数据载入及初步观察

1.导入pandas库和numpy库

!pip install numpy
!pip install pandas
#安装numpy库和pandas库的操作

import numpy as np
import pandas as pd
#用import导入两个库

2.打开表格 路径可以为相对路径或绝对路径

用pandas库中的read_csv()函数
 

df = pd.read_csv('train.csv')
#用相对路径读取表格并保存在df变量中

df = pd.read_csv(r'D:\downloads\pandas\train.csv')
#用绝对路径读取表格并保存在df变量中

3.表格的分块读取

分每1000行为一个数据块,分块读取。
chunker = pd.read_csv('train.csv',chunksize=1000)
#chunker是TextFileReader对象,是特殊的迭代器。允许以块的形式读取数据。

for chunk in chunker:
    print(chunk)
#每一个chunk都是一个新的数据块

4.表头由英文改成中文

df.columns = ['乘客ID','是否幸存','乘客等级(1/2/3等舱位)','乘客姓名','性别','年龄','兄弟姐妹个数','父母子女个数','船票信息','票价','客舱','登陆港口']

或者在读取时,把表头英文改为各自的中文,定义给新的变量
df_chinese = pd.read_csv('train.csv',names=['乘客ID','是否幸存','乘客等级(1/2/3等舱位)','乘客姓名','性别','年龄','兄弟姐妹个数','父母子女个数','船票信息','票价','客舱','登陆港口'],header=0)
#header=0,指定原来的表头不显示

5.查看数据的基本信息

df = pd.read_csv('train.csv')
df.info()

6.观察表格前10行数据和后15行数据

df.head(10)
df.tail(15)

7.判断数据是否为空,为空的地方返回true,其余地方返回false

df.isnull().head(5)

8.保存数据

df.to_csv('train_chinese.csv')

把df_chinese保存在该目录下。

二.TASK02-pandas基础

1.引入环境

import numpy as np
import pandas a pd

2.引入train.csv的文件

df = pd.read_csv('train.csv')
#这里df是变量

3.查看dataframe数据的每列的名称

df.columns
#看到每一列的名称

4.查看Cabin这列的所有值

df['Cabin']

df['Cabin'].head(3)

或者 :

df.Cabin

df.Cabin.head(3)

5.将多出的列删除

test1 = pd.read_csv('test_1.csv')
#a是多出来的那列
del test1['a']
test1.head(3)

6.将列的元素隐藏,只观察其它几个列元素

df.drop(['Name','Age'],axis=1)
#注意del和drop的区别

7.以age为筛选条件,显示年龄10岁以下的乘客信息

df[df['Age'] < 10]
​
df[df['Age'] < 10].head(3)

8.将10到50岁之间的显示出来,并将数据命名为midage

midage = df[(df['Age']) > 10 & (df['Age'] < 50)]
midage.head(3)

9.将midage的数据中第100行的pclass和sex的数据显示出来

midage.reset_index()
#注意一定要重置索引。
midage.loc[[100],['Pclass','Sex']]

reset_index()函数详见:(Python)Pandas reset_index()用法总结_pandas reset index-CSDN博客

10.使用loc方法将midage的数据中第100,105,108行的pclass,name的数据显示出来

midage.loc[[100,105,108],['pclass','name']]

11.使用iloc方法将midage的数据中第100,105,108行中的pclass,name的数据显示出来

midage.iloc[[100,105,108],[2,3]]
#iloc和loc的区别:iloc用的是索引,只能是整型数字,loc可以是列名。

TASK03-探索性数据分析

1.对示例数据进行排序,要求升序

frame = pd.DataFrame(np.arange(8).reshape((2,4)),index=['2','1'],columns=['d','a','b','c'])
frame.sort_values(by=['d'],ascending=True)
#由于题目要求对示例数据排序,所以用sort_values()函数。如果是对行索引或列索引排序,那用sort_index()函数
# 列名为d的那列数据升序排列。ascending参数默认是True,即升序

2. 对行索引或列索引进行升序或者降序排列

frame.sort_index()

#对行索引升序

frame.sort_index(axis=1)

#对列索引升序

frame.sort_index(ascending=False)

#对行索引降序

frame.sort_index(axis=1,ascending=False)

#对列索引降序

3. 使用describe()函数查看数据统计信息

调用describe()函数可以看到以下信息:

count : 样本数据大小
mean : 样本数据的平均值
std : 样本数据的标准差
min : 样本数据的最小值
25% : 样本数据25%的时候的值
50% : 样本数据50%的时候的值
75% : 样本数据75%的时候的值
max : 样本数据的最大值

frame.describe()得到每个列的基本信息。

frame['列名'].describe()得到指定列的基本信息。

作业

补充:Pandas作业内容及详解:

Pandas入门,作业详解-CSDN博客

  • 44
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值