线性的数据结构, series是一个一维数组
Pandas 会默然用0到n-1来作为series的index, 但也可以自己指定index( 可以把index理解为dict里面的key )
import pandas as pd import numpy as np s = pd.Series([9, 'zheng', 'beijing', 128]) print(s)
打印
0 9 1 zheng 2 beijing 3 128 dtype: object
访问其中某个数据
print(s[1:2]) # 打印 1 zheng dtype: object
import pandas as pd import numpy as np s = pd.Series([9, 'zheng', 'beijing', 128, 'usa', 990], index=[1,2,3,'e','f','g']) print(s)
打印
1 9 2 zheng 3 beijing e 128 f usa g 990 dtype: object
根据索引找出值
print(s['f']) # usa
import pandas as pd import numpy as np s = {"ton": 20, "mary": 18, "jack": 19, "car": None} sa = pd.Series(s, name="age") print(sa)
打印
car NaN jack 19.0 mary 18.0 ton 20.0 Name: age, dtype: float64
检测类型
print(type(sa)) #
生成一个随机数
import pandas as pd import numpy as np num_abc = pd.Series(np.random.randn(5), index=list('abcde')) num = pd.Series(np.random.randn(5)) print(num) print(num_abc) # 打印 0 -0.102860 1 -1.138242 2 1.408063 3 -0.893559 4 1.378845 dtype: float64 a -0.658398 b 1.568236 c 0.535451 d 0.103117 e -1.556231 dtype: float64
import pandas as pd import numpy as np s = pd.Series([9, 'zheng', 'beijing', 128, 'usa', 990], index=[1,2,3,'e','f','g']) print(s[1:3]) # 选择第1到3个, 包左不包右 zheng beijing print(s[[1,3]]) # 选择第1个和第3个, zheng 128 print(s[:-1]) # 选择第1个到倒数第1个, 9 zheng beijing 128 usa
import pandas as pd import numpy as np s = pd.Series([9, 'zheng', 'beijing', 128, 'usa', 990], index=[1,2,3,'e','f','g']) sum = s[1:3] + s[1:3] sum1 = s[1:4] + s[1:4] sum2 = s[1:3] + s[1:4] sum3 = s[:3] + s[1:] print(sum) print(sum1) print(sum2) print(sum3)
打印
2 zhengzheng 3 beijingbeijing dtype: object 2 zhengzheng 3 beijingbeijing e 256 dtype: object 2 zhengzheng 3 beijingbeijing e NaN dtype: object 1 NaN 2 zhengzheng 3 beijingbeijing e NaN f NaN g NaN dtype: object
是否存在
USA in s # true
import pandas as pd
import numpy as np
s = {"ton": 20, "mary": 18, "jack": 19, "jim": 22, "lj": 24, "car": None}
sa = pd.Series(s, name="age")
print(sa[sa>19])
import pandas as pd
import numpy as np
s = {"ton": 20, "mary": 18, "jack": 19, "jim": 22, "lj": 24, "car": None}
sa = pd.Series(s, name="age")
print(sa.median()) # 20
import pandas as pd
import numpy as np
s = {"ton": 20, "mary": 18, "jack": 19, "jim": 22, "lj": 24, "car": None}
sa = pd.Series(s, name="age")
print(sa>sa.median())
import pandas as pd
import numpy as np
s = {"ton": 20, "mary": 18, "jack": 19, "jim": 22, "lj": 24, "car": None}
sa = pd.Series(s, name="age")
print(sa[sa > sa.median()])
import pandas as pd
import numpy as np
s = {"ton": 20, "mary": 18, "jack": 19, "jim": 22, "lj": 24, "car": None}
sa = pd.Series(s, name="age")
more_than_midian = sa>sa.median()
print(more_than_midian)
print('---------------------')
print(sa[more_than_midian])
import pandas as pd
import numpy as np
s = {"ton": 20, "mary": 18, "jack": 19, "jim": 22, "lj": 24, "car": None}
sa = pd.Series(s, name="age")
print(s)
print('----------------')
sa['ton'] = 99
print(sa)
import pandas as pd
import numpy as np
s = {"ton": 20, "mary": 18, "jack": 19, "jim": 22, "lj": 24, "car": None}
sa = pd.Series(s, name="age")
print(s) # 打印原字典
print('---------------------') # 分割线
sa[sa>19] = 88 # 将所有大于19的同一改为88
print(sa) # 打印更改之后的数据
print('---------------------') # 分割线
print(sa / 2) # 将所有数据除以2