pandas数据结构

#一:series数据结构 类似于一维数组(一组数据一组索引)
from pandas import Series,DataFrame
import pandas as pd

In [2]:

obj = Series([1,2,-8,9])
obj

Out[2]:

0    1
1    2
2   -8
3    9
dtype: int64

In [4]:

#Series数据:索引在左边,值在右边
obj2 = Series([1,-2,3,-4],index=['a','b','c','d'])
obj2

Out[4]:

a    1
b   -2
c    3
d   -4
dtype: int64

In [5]:

#Series有values和index属性,可返还值数据的数组形式和索引对象
obj2.values

Out[5]:

array([ 1, -2,  3, -4], dtype=int64)

In [6]:

obj2.index

Out[6]:

Index(['a', 'b', 'c', 'd'], dtype='object')

In [7]:

#Series与普通的一维数组对比,其具有索引对象,可通过索引来获取Series的单个或一组值
obj2['b']

Out[7]:

-2

In [10]:

obj2[['b','c']]

Out[10]:

b   -2
c    3
dtype: int64

In [11]:

#Series数据结构类型之间的类型
obj2[obj2 < 0]

Out[11]:

b   -2
d   -4
dtype: int64

In [12]:

obj2*2

Out[12]:

a    2
b   -4
c    6
d   -8
dtype: int64

In [13]:

import numpy as np
np.abs(obj2)

Out[13]:

a    1
b    2
c    3
d    4
dtype: int64

In [14]:

#二:创建DataFrame数据
#数据分析中无论创建的数据含是外部数据,首先想到将其转为DataFrame数据,DataFrame为表格数据(有行索引和列索引);
#创建DataFrame数据的办法很多,常用到:传入由数组,列表或者元组组成的字典
import numpy as np
from pandas import Series,DataFrame
import pandas as pd

In [17]:

data = {
    'name':['张三','李四','王五','小明'],
    'sex':['female','female','male','male'],
     'city':['北京','上海','广州','北京'],
    'year':[2001,2002,2003,2002]  
}
df = DataFrame(data)
df

Out[17]:

 namesexcityyear
0张三female北京2001
1李四female上海2002
2王五male广州2003
3小明male北京2002

In [18]:

#字典是无序的,可以通过columns指定列索引的排序顺序;
df = DataFrame(data,columns=['name','sex','year','city'])
df

Out[18]:

 namesexyearcity
0张三female2001北京
1李四female2002上海
2王五male2003广州
3小明male2002北京

In [19]:

#通过设置DataFrame的index和columns的name属性,可以将这些信息显示出来
df.index.name = 'id'
df.columns.name = 'std_info'

In [20]:

df

Out[20]:

std_infonamesexyearcity
id    
0张三female2001北京
1李四female2002上海
2王五male2003广州
3小明male2002北京

In [21]:

#通过values属性可以将DataFrame数据转化为二维数组
df.values

Out[21]:

array([['张三', 'female', 2001, '北京'],
       ['李四', 'female', 2002, '上海'],
       ['王五', 'male', 2003, '广州'],
       ['小明', 'male', 2002, '北京']], dtype=object)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值