目录
*
– 为什么要学习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/
转载文章受原作者版权保护。转载请注明原作者出处!