pandas(一)

Series的创建:

1、通过一维数组创建序列

arr=np.arange(10)
print(arr)
arr1=pd.Series(arr)
print(arr1)

[0 1 2 3 4 5 6 7 8 9]
0    0
1    1
2    2
3    3
4    4
5    5
6    6
7    7
8    8
9    9

2、通过字典的方式创建序列

dic1 = {'a':10,'b':20,'c':30,'d':40,'e':50}
print(dic1)
print(pd.Series(dic1))

{'a': 10, 'b': 20, 'c': 30, 'd': 40, 'e': 50}
a    10
b    20
c    30
d    40
e    50

3、通过DataFrame中的某一行或某一列创建序列

DataFrame的创建

1、通过二维数组创建数据框

arr=[[1,2,3],[4,5,6]]
print(pd.DataFrame(arr))

 0  1  2
0  1  2  3
1  4  5  6
2、通过字典的方式创建数据框

dict2={'a':[1,2,3],'b':[4,5,6],'c':[7,8,9]}
print(pd.DataFrame(dict2))

 a  b  c
0  1  4  7
1  2  5  8
2  3  6  9

dic3 = {'one':{'a':1,'b':2,'c':3,'d':4},'two':{'a':5,'b':6,'c':7,'d':8},'three':{'a':9,'b':10,'c':11,'d':12}}
print(pd.DataFrame(dic3))

 one  two  three
a    1    5      9
b    2    6     10
c    3    7     11
d    4    8     12

3、通过数据框的方式创建数据框

df3=pd.DataFrame(dic3)
print(df3[['one','three']])
print(df3['one'])

 one  three
a    1      9
b    2     10
c    3     11
d    4     12
a    1
b    2
c    3
d    4

序列或数据框的索引有两大用处,一个是通过索引值或索引标签获取目标数据,另一个是通过索引,可以使序列或数据框的计算、操作实现自动化对齐

s4=pd.Series(np.arange(5))
#print(s4)
s4.index=['a','b','c','d','e']
print(s4)
print(s4[1])
print(s4['a'])
print(s4['a':'c'])

a    0
b    1
c    2
d    3
e    4
dtype: int32
1
0
a    0
b    1
c    2
dtype: int32

注意:如果通过索引标签获取数据的话,末端标签所对应的值是可以返回的

如果有两个序列,需要对这两个序列进行算术运算,这时索引的存在就体现的它的价值了—自动化对齐

s5 = pd.Series(np.array([10,15,20,30,55,80]),index = ['a','b','c','d','e','f'])
s6 = pd.Series(np.array([12,11,13,15,14,16]),index = ['a','c','g','b','d','f'])
print(s5 + s6)

a    22.0
b    30.0
c    31.0
d    44.0
e     NaN
f    96.0
g     NaN
dtype: float64

由于s5中没有对应的g索引,s6中没有对应的e索引,所以数据的运算会产生两个缺失值NaN

这里的算术结果就实现了两个序列索引的自动对齐,而非简单的将两个序列加

student是一个dataFrame
print(student.head())#输出前五行
print(student.tail())#输出后五行
print(student.loc[[2,4,5,7]])#查询指定行
print(student[['Sex','Name']].head())#查询指定列
print(student.loc[:,['Sex','Name']].head())#通过loc查询指定列
print(student[(student['Age']>14)&(student['Sex']=='M')])#根据条件进行查询,小括号必须加

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值