Pandas是Python中最常用的数据分析库之一,而Series是Pandas中最基本的数据结构之一。Series是一维数组,类似于Excel中的一列数据。本文将从多个角度分析Pandas中Series常见的属性,帮助读者更好地了解和使用Series。一、创建Series
创建Series最常见的方法是使用Pandas的Series()函数。Series()函数的基本语法如下:

```
s = pd.Series(data, index=index)
```
其中,data是Series中的数据,可以是Python列表、NumPy数组或字典等;index是数据的标签,可以是Python列表或NumPy数组等。例如:
```
import pandas as pd
import numpy as np
# 创建一个Series对象
s = pd.Series([1, 3, 5, np.nan, 6, 8])
print(s)
```
输出结果如下:
```
0 1.0
1 3.0
2 5.0
3 NaN
4 6.0
5 8.0
dtype: float64
```
二、Series常见属性
1. values
values属性可以获取Series中的数据,返回一个NumPy数组。例如:
```
import pandas as pd
import numpy as np
s = pd.Series([1, 3, 5, np.nan, 6, 8])
print(s.values)
```
输出结果如下:
```
[ 1. 3. 5. nan 6. 8.]
```
2. index
index属性可以获取Series中的标签,返回一个Pandas的Index对象。例如:
```
import pandas as pd
import numpy as np
s = pd.Series([1, 3, 5, np.nan, 6, 8])
print(s.index)
```
输出结果如下:
```
RangeIndex(start=0, stop=6, step=1)
```
3. dtype
dtype属性可以获取Series中数据的数据类型,返回一个字符串。例如:
```
import pandas as pd
import numpy as np
s = pd.Series([1, 3, 5, np.nan, 6, 8])
print(s.dtype)
```
输出结果如下:
```
float64
```
4. size
size属性可以获取Series中的数据个数,返回一个整数。例如:
```
import pandas as pd
import numpy as np
s = pd.Series([1, 3, 5, np.nan, 6, 8])
print(s.size)
```
输出结果如下:
```
6
```
5. shape
shape属性可以获取Series的形状,返回一个元组。例如:
```
import pandas as pd
import numpy as np
s = pd.Series([1, 3, 5, np.nan, 6, 8])
print(s.shape)
```
输出结果如下:
```
(6,)
```
三、Series常见方法
1. head()和tail()
head()方法可以获取Series的前几行数据,默认为前5行。tail()方法可以获取Series的后几行数据,默认为后5行。例如:
```
import pandas as pd
import numpy as np
s = pd.Series([1, 3, 5, np.nan, 6, 8])
print(s.head())
print(s.tail())
```
输出结果如下:
```
0 1.0
1 3.0
2 5.0
3 NaN
4 6.0
dtype: float64
1 3.0
2 5.0
3 NaN
4 6.0
5 8.0
dtype: float64
```
2. describe()
describe()方法可以获取Series的统计信息,包括计数、平均数、标准差、最小值、25%分位数、中位数、75%分位数和最大值。例如:
```
import pandas as pd
import numpy as np
s = pd.Series([1, 3, 5, np.nan, 6, 8])
print(s.describe())
```
输出结果如下:
```
count 5.000000
mean 4.600000
std 2.701851
min 1.000000
25% 3.000000
50% 5.000000
75% 6.000000
max 8.000000
dtype: float64
```
3. isnull()和notnull()
isnull()方法可以判断Series中哪些数据为缺失值,返回一个布尔值的Series。notnull()方法则可以判断Series中哪些数据不为缺失值,也返回一个布尔值的Series。例如:
```
import pandas as pd
import numpy as np
s = pd.Series([1, 3, 5, np.nan, 6, 8])
print(s.isnull())
print(s.notnull())
```
输出结果如下:
```
0 False
1 False
2 False
3 True
4 False
5 False
dtype: bool
0 True
1 True
2 True
3 False
4 True
5 True
dtype: bool
```
四、Series的索引和切片
Series可以通过标签和位置两种方式进行索引和切片。其中,标签索引和切片使用的是loc[],位置索引和切片使用的是iloc[]。例如:
```
import pandas as pd
import numpy as np
s = pd.Series([1, 3, 5, np.nan, 6, 8], index=['a', 'b', 'c', 'd', 'e', 'f'])
print(s.loc['a'])
print(s.iloc[3])
print(s.loc['a':'c'])
print(s.iloc[0:3])
```
输出结果如下:
```
1.0
nan
a 1.0
b 3.0
c 5.0
dtype: float64
a 1.0
b 3.0
c 5.0
dtype: float64
```
五、Series的数学运算
与NumPy数组类似,Series也支持数学运算。例如:
```
import pandas as pd
import numpy as np
s = pd.Series([1, 3, 5, np.nan, 6, 8])
print(s + 2)
print(s * 2)
print(s / 2)
print(s ** 2)
```
输出结果如下:
```
0 3.0
1 5.0
2 7.0
3 NaN
4 8.0
5 10.0
dtype: float64
0 2.0
1 6.0
2 10.0
3 NaN
4 12.0
5 16.0
dtype: float64
0 0.5
1 1.5
2 2.5
3 NaN
4 3.0
5 4.0
dtype: float64
0 1.0
1 9.0
2 25.0
3 NaN
4 36.0
5 64.0
dtype: float64
```
六、