series和dataframe

首先,这两种数据类型是python中pandas包中的,使用之前记得导包

目录

初步认识

series

组成

创建

获取

运算

dataframe

创建


初步认识

1、DataFrame可以看成一个矩形表格(比如m行n列的数据)甚至是整个表格,存储的是二维的数据,可以被看做是由Series组成的字典,每一个坐标轴都有自己的标签。

2、Series则是DataFrame中的一列,存储的是一维的数据。


series

组成

Series中包含data(序列值)、index(行索引) 、dtype(存储类型)、name (序列名)四部分属性。

创建

import pandas as pd
s = pd.Series(data = [102,103,104,105], 
          index = ['小明','小强','小红','小兰'],
          dtype = 'int',
          name = '语文')
print(s)
(其中index、dtype、name等属性并不是必需要设置的)

获取

Series获取多个值的方式类似Numpy中的ndarray的切片操作,通过方括号+下标值/索引值+冒号(:)的形式来截取series对象中的一部分数

#引入模块
import pandas as pd
import numpy as np
#检索第一个元素。
ser05 = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])
print(ser05[1])
print(ser05['a'])
print(ser05['d'])

运算

#引入模块
import pandas as pd
import numpy as np
​
series = pd.Series({'a':941,'b':431,'c':9327})
series
​
#输出大于500的值
series[series>500]
​
#计算加
series+10
​
#计算减
series-100
​
#计算乘
series*10
​
#两个系列相加
ser01 = pd.Series([1,2,3])
ser02 = pd.Series([4,5,6])
ser01+ser02
​
#)计算各个元素的指数e的x次方  e 约等于 2.71828
np.exp(series)
​
np.abs(series)
​
#sign()计算各个元素的正负号: 1 正数,0:零,-1:负数
np.sign(series)
​

Series及其索引的name属性

dataframe

创建

创建的方式有很多

(1)直接创建

#创建日期索引序列  
dates =pd.date_range('20130101', periods=6)  
print(type(dates))  
#创建Dataframe,其中 index 决定索引序列,columns 决定列名  
df =pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))  
print(df) 

(2)字典创建 DataFrame

df2 =pd.DataFrame({'A' : 1.,  
   'B': pd.Timestamp('20130102'),  
   'C': pd.Series(1,index=list(range(4)),dtype='float32'),  
   'D': np.array([3]*4,dtype='int32'),  
   'E': pd.Categorical(["test","train","test","train"]),  
   'F':'foo' })  
print(df2)  

(3)从列表创建DataFrame

data = [1,2,3,4]
df02 = pd.DataFrame(data)
print(df02)

(4)从列表字典来创建DataFrame

data = {'Name':['Tom','Jack','Steve'],'Age':[19,18,20]}
# df04 = pd.DataFrame(data)
#指定行索引和列索引
df04 = pd.DataFrame(data,index = ['rank1','rank2','rank3'],columns = ['Name','Age','Sex'])
print(df04)

(5)从字典列表创建数据帧DataFrame

data = [{'a':1,'b':2},{'a':1,'b':2,'c':3}]
# df05 = pd.DataFrame(data)
#传递字典列表指定行索引
# df05 = pd.DataFrame(data,index = ['first','second'])
#传递字典列表指定行索引,列索引
df05 = pd.DataFrame(data,index = ['first','second'],columns = ['a','b','c','d'])
print(df05)

(6)从系列的字典来创建DataFrame

data = {
    'one':pd.Series([1,2,3],index = ['a','b','c']),
    'two':pd.Series([1,2,3,4],index = ['a','b','c','d'])
}
df06 = pd.DataFrame(data)
print(df06)

数据操作

列选择

#直接通过列索引来获取某一列的值
df06['one']

列添加

df06['three'] = pd.Series([10,20,30],index = ['a','b','c'])

列修改

#直接通过列名进行修改
df06['three'] = [7,8,9,10]

列删除

#使用del删除列
# del(df06['three'])
#使用pop删除
df06.pop('two')

行选择

#可以通过将行标签传递给loc函数或者ix函数来选择行
# df06.loc['a']
df06.loc[:,'two']
# df06.ix['a']
​
# 按整数位置选择
# 可以通过将整数位置传递给iloc函数来选择行。参考以下示例代码 -
df06.iloc[2]
​
# 行切片
# 可以使用:运算符选择多行。参考以下示例代码 -
df06[2:4]

行添加

# 添加加行
# 使用append()函数将新行添加到DataFrame。 此功能将附加行结束。
#创建一行数据
# data2 = pd.DataFrame([{'one':22,'two':33,'three':44}],index = ['e'])
data2 = pd.DataFrame([[22,33,44]],columns = ['one','two','three'],index = ['f'])
# data2 
df06 = df06.append(data2)
df06

行删除

df06 = df06.drop('e')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值