首页 > 其他 > 详细

机器学习pandas数据结构之Series笔记

时间:2019-08-22 23:14:22      阅读:101      评论:0      收藏:0      [点我收藏+]

对Series的理解也源于对其相关的代码操作,本次仅贴一些代码来加深理解以及记忆

  1 import pandas as pd
  2 import numpy as np
  3 s = pd.Series(np.random.randn(5),index=[a,b,c,d,e])  # index添加行索引
  4 s
  5 # 输出
  6 a    1.752127
  7 b    0.127374
  8 c    0.581114
  9 d    0.466064
 10 e   -1.493042
 11 dtype: float64
 12 
 13 s.index
 14 # 输出 Index([‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘], dtype=‘object‘)
 15 
 16 s = pd.Series(np.random.randn(5))  # 自动添加索引
 17 s
 18 # 输出 
 19 0    0.209798
 20 1    0.791759
 21 2   -1.352022
 22 3    0.164453
 23 4    0.647989
 24 dtype: float64
 25 
 26 d = {a:0.,b:1.,d:3}  # Series通过字典形式创建表,字典中的键就被当成行索引
 27 s = pd.Series(d, index=list(abcd))  # 没有的索引赋值为NaN
 28 s
 29 # 输出
 30 
 31 Out[12]:
 32 a    0.0
 33 b    1.0
 34 c    NaN
 35 d    3.0
 36 dtype: float64
 37 
 38 s = pd.Series(5,index=list(abcd))  # 每个索引对应的值相等
 39 s
 40 #输出
 41 a    5
 42 b    5
 43 c    5
 44 d    5
 45 dtype: int64
 46 
 47 s = pd.Series(np.random.randn(5))  # 通过随机数创建
 48 s
 49 #输出
 50 0   -0.014250
 51 1    0.990860
 52 2    1.785053
 53 3   -2.155324
 54 4   -0.815233
 55 dtype: float64
 56 
 57 s[0]  # 可以通过单个索引值读取对应的值
 58 #输出 -0.014250144041201129
 59 
 60 s[:3]  # 可以通过索引范围读取对应的范围值
 61 # 输出
 62 0   -0.014250
 63 1    0.990860
 64 2    1.785053
 65 dtype: float64
 66 
 67 s[[1,3,4]]  # 任意读取多个索引对应的值需要两对[[]]
 68 # 输出
 69 1    0.990860
 70 3   -2.155324
 71 4   -0.815233
 72 dtype: float64
 73 
 74 np.sin(s)  # 可以用numpy函数对Series创建的表中的数据进行一系列操作
 75 # 输出
 76 0   -0.014250
 77 1    0.836498
 78 2    0.977135
 79 3   -0.833973
 80 4   -0.727885
 81 dtype: float64
 82 
 83 s = pd.Series(np.random.randn(5),index=[a,b,c,d,e])
 84 s
 85 #输出
 86 a    1.127395
 87 b    0.229895
 88 c    0.161001
 89 d    0.362886
 90 e    0.203692
 91 dtype: float64
 92 
 93 s[a]  # 索引也可以是字符字符串
 94 # 输出 1.1273946030373316
 95 
 96 s[b]= 3  # 可以通过索引赋值操作改变表中的值
 97 s
 98 # 输出
 99 a    1.127395
100 b    3.000000
101 c    0.161001
102 d    0.362886
103 e    0.203692
104 dtype: float64
105 
106 s[g] = 100  # 如果表中没有那个索引,通过索引的赋值将会自动添加到表的行尾
107 s
108 # 输出
109 a      1.127395
110 b      3.000000
111 c      0.161001
112 d      0.362886
113 e      0.203692
114 g    100.000000
115 dtype: float64
116 
117 print(s.get(f))  # 也可以使用get函数读取索引对应的值,如果没有就返回默认的None
118 # 输出 None
119 
120 print (s.get(f,0))  # 也可以加自定义值的返回值
121 # 输出 0
122 
123 s1 = pd.Series(np.random.randn(3),index=[a,c,e])
124 s2 = pd.Series(np.random.randn(3),index=[a,d,e])
125 print(f{s1}\n\n{s2})
126 # 输出 
127 a   -0.036147
128 c   -1.466236
129 e   -0.649153
130 dtype: float64
131 
132 a    1.460091
133 d   -0.788388
134 e    0.175337
135 dtype: float64
136 
137 s1 + s2  # 通过Series创建的表也可以按照行相同索引对应的值相加,如果两表索引对应
138          # 不上就默认赋值NaN
139 # 输出
140 a    1.423945
141 c         NaN
142 d         NaN
143 e   -0.473816
144 dtype: float64

 

机器学习pandas数据结构之Series笔记

原文:https://www.cnblogs.com/yang901112/p/11397213.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!