【Pandas】Pandas基础知识笔记

1.简介

Pandas是基于numpy写的,让numpy用起来更简单

如果类比列表和字典

numpy就是列表,pandas就是字典

pandas可以给不同的列和行,重新命名

2.学习

2.1 基本介绍

Series

序列

【Pandas】Pandas基础知识笔记

Series的表示为,索引在左边,值在右边

; DataFrame

表格型的数据结构,包括:行索引、列索引

可以指定索引的名称,如果不指定默认为0~N-1

DataFrame可以看成一列列的Series,可以通过 df[‘xxx’] 来访问某一个Series

创建DataFrame时,可以选择指定 index和columns

【Pandas】Pandas基础知识笔记

也可以利用字典来生成DataFrame,字典中的键表示Series的名字

【Pandas】Pandas基础知识笔记

字典方式生成DataFrame

【Pandas】Pandas基础知识笔记

DataFrame的属性和方法

df.dtype
df.index 和 df.columns
df.values
df.describe()
df.T
df.head(num)

df.sort_index(axis,ascending)

df.sort_values(by='xx')

2.2 用Pandas选择数据

1.基本:对列
df['xx']
df.xx

2.切片:对行
df[0:3]
df['xx1':'xx3']

3.标签筛选
df.loc[行筛选条件,列筛选条件]
例如:df.loc['r1':'r3',['c1','c2','c3']]

4.索引数字筛选
df.iloc[行筛选条件,列筛选条件]
例如:df.iloc[[1,3,5],1:3]

5.混合筛选
df.ix[,]

6.布尔筛选
df[df.A > 8]

2.3 用Pandas设置值

过程就是:1)选择数据。 2)赋值。
1.基本
df.iloc[2,2] = 666
df.loc['r2','c2'] = 666
df.B[df.A > 8] = 666

2.批处理
df['c3'] = np.nan

df['new col'] = pd.Serires([datas...],index)

2.4 用Pandas处理丢失数据

df.dropna(axis,how='any|all')

df.fillna(value='xxx')
df.isnull()
np.any(df.isnull()) == True

2.5 用Pandas导入导出数据

pandas可以读写的格式很多:csv、excel、json、html、pickle

官方说明:https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html

data = pd.read_csv("xx.csv")
data.to_csv("xx.csv")

2.6 Pandas的concat合并操作

df1 df2 df3

1.concat
res = pd.concat([df1,df2,df3],axis,ignore_index,join='inner|outer',join_axes=[df1.index])

2.append
res = df1.append(df2,ignore_index)
res = df1.append([df2,df3],ignore_index)

s = pd.Series([1,2,3,4],index=['a','b','c','d'])
res = df1.append(s,ignore_index)

2.7 Pandas的merge合并操作

更加复杂的合并

1.merge:基于列名进行合并
res = pd.merge(df1,df2,on='xxx')

res = pd.merge(df1,df2,on=['key1','key2'],how='inner|outer|left|right')

res = pd.merge(df1,df2,indicator=True|'indicator_name')

pd.merge(df1,df2,left_index=True,right_index=True,how='outer|inner')

pd.merge(df1,df2,on,suffixes=['_x1','_x2'],how)

2.8 plot出图

1.Series
data = pd.Series(......)
data.plot()

2.DataFrame
同上

3.散点图
data.plot.scatter(x='xx',y='xx')

ax = data.plot.scatter(x='A',y='B',color='xx',label='Class1')
data.plot.scatter(x='A',y='C',color='xx',label='Class2',ax=ax)

4.其他
bar hist box kde area scatter hexbin

Pandas学习视频和本文章图片来源:https://mofanpy.com/tutorials/data-manipulation/np-pd/

Original: https://blog.csdn.net/qq_41340996/article/details/115312285
Author: KyrieLiu52
Title: 【Pandas】Pandas基础知识笔记

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

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

(0)

大家都在看

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