python-pandas模块1-基本数据类型1

本文介绍了Pandas模块中的基本数据类型——Series和DataFrame。内容包括Series的自定义索引、读取,通过字典创建Series,以及DataFrame的创建、读取、增加新列、行操作和删除等操作。
摘要由CSDN通过智能技术生成

pandas模块-基本数据类型

导入模块

 import pandas as pd
 import numpy as np
 from pandas import Series,DataFrame
1.Series

pd.Series()返回一个有index和values属性的数据对象

s= pd.Series([4,-7,3,9])
s

在这里插入图片描述

(1)自定义索引
s1=Series([4,7,6,5],index=['a','b','c','d'],dtype=float)

在这里插入图片描述

(2)读取Series

使用0-n的索引读取

s1[0]

在这里插入图片描述

自定义索引

s1['a']

在这里插入图片描述

如果自定义索引是纯数字,就不能用0-n的索引读取了,只能用自定义

s2=Series([4,7,6,5],index=[4,5,6,7],dtype=np.float64)
s2

在这里插入图片描述

Sereis.loc[‘自定义索引’]

s2.loc[6]

Sereis.iloc[0-n的数字]

s2.iloc[2]

可以用loc更改索引对应的值,如果没有就新加进去

s1.loc['e']=8

在这里插入图片描述

读取多个值会得到新对象
单点读取

s1[['a','c']]

在这里插入图片描述
区间读取:Series[start,end,step]

s1['a':'c']

在这里插入图片描述

(3)通过字典数据得到Series(key变成索引,value变成值)

创造一个字典

build_price={'beijing':68000,'shanghai':54000,'guangzhou':35000,'shenzhen':72000}

将字典转为Series

s3=Series(build_price)
s3

在这里插入图片描述
给定index参数值,他会进行匹配,按照给定的顺序显示,若数据匹配不上则显示NaN

index4=['beijing','guangzhou','shanghai','shenzhen']
s4=Series(build_price,index=index4)
s4

在这里插入图片描述

index4=['beijing','guangzhou','shanghai','shenzheng','haerbin']
s4=Series(build_price,index=index4)
s4

在这里插入图片描述
创建后再更改index也是可以的

s3.index=list('abcd')
s3

在这里插入图片描述

2.DataFrame

表格型数据,就像excel一样有行有列

(1)把numpy的二维数组转为DataFrame

默认行索引与列索引都是0-n

df = DataFrame( np.arange(10,22).reshape(3,4) )
df

在这里插入图片描述
可以自定义索引

df1= DataFrame( np.arange(10,22).reshape(3,4),
               index=list('abc'),
              columns='one,two,three,four'.split(','))
df1

在这里插入图片描述

(2)通过字典来创建DataFrame

先创建一个字典然后在转为DataFrame

df_dict={
    'city':'北京,上海,广州,深圳,台北'.split(','),
    'price':(6800,54000,35000,72000,50000),
    'year':np.arange(2015,2020)
}
df2=DataFrame(df_dict)
df2

在这里插入图片描述
可以更改列索引的顺序

DataFrame(df_dict,columns=['year','city','price'])

在这里插入图片描述

(3)读取DataFrame

先取出df2

df2

在这里插入图片描述
读取列:df[’ ']

df2['city']

在这里插入图片描述
读取列:df.列名称

df2.year

在这里插入图片描述
读取行:df.loc[ ]

df2.loc[0]

在这里插入图片描述
读取单一值:df.loc(行,列)
取出2019

#直接读取:
df2.loc[4,'year']

#间接读取
df2.year[4]

#间接读取
df2.loc[4].loc['year']
(4)增加新列

df[‘columnName’]=值

同样的值

df2['new1']=5
df2

在这里插入图片描述
不同的值

df2['new2']=np.arange(5.)
df2

在这里插入图片描述
若列名已经存在则修改值

df2['new1']=100
df2

在这里插入图片描述

(5)行增加和修改

df.loc[ ]=xxx

df2.loc[4,'year']=2020
df2

在这里插入图片描述
当我们想增加新列 我们如果直接给数字或者是数组的时候 行索引是自动匹配的,但是如果我们给的数据已经有索引的Series。而Series是有索引的,那么就会进行 索引匹配,能匹配上则给值进去,不能则没有
创建一个series

spe_s=Series(np.arange(7)*3,index=[0,23,4,5,6,9,'new'])
spe_s

在这里插入图片描述
和df2合并

df2['new5']=spe_s
df2

相同索引的值加进去了,不相同的显示NaN
创建series时给相同索引

spe_s2=Series(np.arange(7)*3,index=df2.index)
spe_s2

在这里插入图片描述
合并

df2['new5']=spe_s2
df2

相同的索引值就能加进去
也可以直接复制values,就不会涉及到索引了

df2['new7']=spe_s2.values
df2

在这里插入图片描述

(6)删除

删除列:del df[列名称]

**df.drop(key , axis=0 ,inplace=False) **
key:具体的名称
axis:控制删行删列
inplace:是否在原数据修改

df2.drop('new4',inplace=True,axis=1)
df2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值