数据分析——pandas(二)

pandas

DataFrame

创建DataFrame

import pandas as pd
pd.DataFrame(a)

参数a可以是多种类型,数组列表等

import pandas as pd
import numpy as np
t=pd.DataFrame(np.array(range(30)).reshape((5,6)))

数据分析——pandas(二)

由上可以看出DataFrame对象既有行索引,又有列索引
行索引,表明不同行,叫index,0轴,axis=0
列索引,表明不同列,叫columns,1轴,axis=1

DataFrame的改变索引(轴)

因为DataFrame的构造方法支持轴参数,所以我们可以通过传入轴参数来改变DataFrame的索引

t=pd.DataFrame(np.array(range(30)).reshape((5,6)),index=list("abcde"),columns=list("!@#$%^"))

数据分析——pandas(二)

DataFrame与Series的关系

DataFrame中每列或每行单独取出,即二维中取一维,在pandas类型中就是Series类型。DataFrame是Series类型的容器。

DataFrame的基础属性

import pandas as pd
df=pd.DataFrame(a)
df.shape
df.dtype
df.ndim
df.index
df.columns
df.values

DataFrame整体情况查询

import pandas as pd
df=pd.DataFrame(a)
df.head(a)
df.tail(a)
df.info()
df.describe()

DataFrame中排序

df.sort_values()

import pandas as pd
import numpy as np
t=pd.DataFrame(np.array(range(24)).reshape((6,4)),index=list("abcdef"),columns=list("xyzp"))

数据分析——pandas(二)

DataFrame中的索引

import pandas as pd
t=[{"姓名":"小明","性别":"男","年龄":"18","成绩":"83"}
,{"姓名":"小红","性别":"女","年龄":"17","成绩":"52"}
,{"姓名":"小刚","性别":"男","年龄":"19","成绩":"43"}
,{"姓名":"小亮","性别":"男","年龄":"16","成绩":"61"}
,{"姓名":"小美","性别":"女","年龄":"18","成绩":"79"}]

df=pd.DataFrame(t)

数据分析——pandas(二)

取行或取列
·方括号写数组,表示取行索引,对行进行操作
·方括号写字符串,表示取列索引,对列进行操作
·具体索引与Series相似

数据分析——pandas(二)
精确索引
我们可以利用数字加字符串来进行更精确的索引
数据分析——pandas(二)
通过标签和位置进行值的精确索引
df.loc[]

df.iloc[]

数据分析——pandas(二)
注:语法 t.loc["A":"C",["W","Z"]]成立,表示索引A到C,且A、C均可取到
数据分析——pandas(二)
DataFrame同样支持布尔索引
注:
b

DataFrame更改数据

通过索引取值后通过赋值更改
无论存储什么类型数据的DataFrame,赋值语句 df.loc[a][b]=np.nan (df具体意义参考上文)均成立,DataFrame会自动转化数据类型

pandas的字符串方法

数据分析——pandas(二)

缺失数据的处理

在pandas中我们处理起来非常容易
对于NaN:
判断数据是否为NaN: pd.isnull(df)pd.notnull(df),pd,df同上
处理方式1:删除NaN所在的行列 dropna(axis=0,how='any',inplace=False)(参数axis决定删除行还是列,how默认为any,决定删除含多少NaN的行列,其他赋值还有”all”)
处理方式2:填充数据, t.fillna(t.mean())(填充均值), t.fillna(t.median())(填充中值), t.fillna(0)
单独某行列填充 t[行/列].fillna(t[行/列].mean())
注:要注意数据类型,字符串无法进行加减乘除

数据分析——pandas(二)
对于0:
当然不是每次为零的数据都要处理
t[t==0]=np.nan

Original: https://blog.csdn.net/LateNight_LL/article/details/119835507
Author: LateNight_LL
Title: 数据分析——pandas(二)

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

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

(0)

大家都在看

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