机器学习-数据科学库第四天——笔记

目录

*
为什么要学习pandas
pandas的常用数据类型
pandas之Series创建
pandas之读取外部数据
pandas之DataFrame
DataFrame的基础属性
pandas之loc
缺失数据的处理

为什么要学习pandas

numpy能够帮我们处理处理数值型数据,但是这还不够
很多时候,我们的数据除了数值之外,还有字符串,还有时间序列等

  • 比如:我们通过爬虫获取到了存储在数据库中的数据
  • 比如:之前youtube的例子中除了数值之外还有国家的信息,
  • 视频的分类(tag)信息,标题信息等

所以,numpy能够帮助我们处理数值,但是pandas除了处理数值之外(基于numpy),还能够帮助我们处理其他类型的数据

pandas的常用数据类型

1.Series 一维,带标签数组
2.DataFrame 二维,Series容器

pandas之Series创建

机器学习-数据科学库第四天——笔记
机器学习-数据科学库第四天——笔记

pandas之Series的索引和值

机器学习-数据科学库第四天——笔记
机器学习-数据科学库第四天——笔记

; pandas之读取外部数据

我们的这组数据存在csv中,我们直接使用pd. read_csv即可
和我们想象的有些差别,我们以为他会是一个Series类型,但是他是一个DataFrame,那么接下来我们就来了解这种数据类型

pandas之DataFrame

DataFrame对象既有行索引,又有列索引
行索引,表明不同行,横向索引,叫index,0轴,axis=0
列索引,表名不同列,纵向索引,叫columns,1轴,axis=1

Series能够传入字典,那么DataFrame能够传入字典作为数据么?那么mongodb的数据是不是也可以这样传入呢?

机器学习-数据科学库第四天——笔记
机器学习-数据科学库第四天——笔记

和一个ndarray一样,我们通过shape,ndim,dtype了解这个ndarray的基本信息,那么对于DataFrame我们有什么方法了解呢

; DataFrame的基础属性

机器学习-数据科学库第四天——笔记
机器学习-数据科学库第四天——笔记

那么回到之前我们读取的狗名字统计的数据上,我们尝试一下刚刚的方法

import pandas as pd
df = pd.read_csv("./dogNames2.csv")
df = df.sort_values(by="Count_AnimalName",ascending=False)

!](https://img-blog.csdnimg.cn/e232abf73e3a45a9bac689ff6723098c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAc2hlbum6kw==,size_15,color_FFFFFF,t_70,g_se,x_16

print(df[:20])
print(df["Row_Labels"])
print(type(df["Row_Labels"]))

机器学习-数据科学库第四天——笔记

pandas之loc

还有更多的经过pandas优化过的选择方式:
1.df.loc 通过标签索引行数据
2.df.iloc 通过位置获取行数据

机器学习-数据科学库第四天——笔记
机器学习-数据科学库第四天——笔记

现在假设我们有一个组关于狗的名字的统计数据,假如我们想找到所有的使用次数超过700并且名字的字符串的长度大于4的狗的名字,应该怎么选择?

import pandas as pd

df = pd.read_csv("./dogNames2.csv")
print(df[(800<df["Count_AnimalName"])|(df["Count_AnimalName"]<1000)])

机器学习-数据科学库第四天——笔记

缺失数据的处理

对于NaN的数据,在numpy中我们是如何处理的?
在pandas中我们处理起来非常容易
=判断数据是否为NaN:pd.isnull(df),pd.notnull(df)
处理方式1:删除NaN所在的行列dropna (axis=0, how=’any’, inplace=False)
处理方式2:填充数据,t.fillna(t.mean()),t.fiallna(t.median()),t.fillna(0)=

机器学习-数据科学库第四天——笔记
机器学习-数据科学库第四天——笔记
机器学习-数据科学库第四天——笔记

【动手】对于这一组电影数据,如果我们想rating,runtime的分布情况,应该如何呈现数据?

import pandas as pd
from matplotlib import pyplot as plt
file_path = "./IMDB-Movie-Data.csv"
df = pd.read_csv(file_path)

runtime_data = df["Runtime (Minutes)"].values
max_runtime = runtime_data.max()
min_runtime = runtime_data.min()

print(max_runtime-min_runtime)
num_bin = (max_runtime-min_runtime)//5

plt.figure(figsize=(20,8),dpi=80)
plt.hist(runtime_data,num_bin)
plt.xticks(range(min_runtime,max_runtime+5,5))
plt.show()

机器学习-数据科学库第四天——笔记

Original: https://blog.csdn.net/weixin_45649258/article/details/122973424
Author: 鹿衔草啊
Title: 机器学习-数据科学库第四天——笔记

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/674113/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球