构造一个Series对象。
>>> s = pd.Series(data=np.arange(7), dtype=np.float32, index=list('abcdefg'))
>>> s
a 0.0
b 1.0
c 2.0
d 3.0
e 4.0
f 5.0
g 6.0
dtype: float32
pd.Series.astype(dtype, copy, errors)
创造新的数据类型的对象
参数:
dtype: data type, or dict of column name
使用 numpy.dtype or Python type去构造对用类型的pandas对象;
使用 {col: dtype, ...},构造列的数据类型;
copy: bool, default True
当 copy=True 时,返回拷贝;
errors: {'raise', 'ignore'}, default 'raise'
控制对提供的无效数据引发的异常,
- raise: 允许引发异常
- ignore: 抑制异常,错误时返回原始对象
>>> s1 = s.astype(np.float64, copy=False)
>>> s1
a 0.0
b 1.0
c 2.0
d 3.0
e 4.0
f 5.0
g 6.0
dtype: float64
pd.Series.convert_dtypes(infer_objects: 'bool_t' = True, convert_string: 'bool_t' = True, convert_integer: 'bool_t' = True, convert_boolean: 'bool_t' = True, convert_floating: 'bool_t' = True)
尝试为对象推断更好的数据类型。
参数:
infer_objects : bool, default True
是否将数据类型转换为最佳类型;
convert_string : bool, default True
是否将对象数据类型转换为string类型;
convert_integer : bool, default True
如果可能,是否可以转换为整数扩展类型;
convert_boolean : bool, defaults True
是否可以转换为布尔类型;
convert_floating : bool, defaults True
如果可能,是否可以转换为浮动扩展类型。
如果`convert_integer`也是True,优先转换为整数类型。
>>> s.convert_dtypes()
a 0
b 1
c 2
d 3
e 4
f 5
g 6
dtype: Int64
pd.Series.infer_objects()
尝试为对象列推断更好的数据类型。
尝试对对象数据类型的列进行软转换,使非对象列和不可转换列保持不变。推理规则与正常序列/数据帧构造期间的推理规则相同。
>>> s.infer_objects()
a 0.0
b 1.0
c 2.0
d 3.0
e 4.0
f 5.0
g 6.0
dtype: float32
pd.Series.copy(deep: 'bool_t' = True)
返回对象的索引和数据的拷贝。
参数:
deep: bool, default True
True: 默认。将创造原始数据的拷贝,对拷贝的修改不会影响原始数据;
False: 将创建一个新对象,而不复制调用对象的数据或索引(只复制对数据和索引的引用)。原始数据的任何更改都将反映在浅拷贝中(反之亦然)。
>>> s.copy()
a 0.0
b 1.0
c 2.0
d 3.0
e 4.0
f 5.0
g 6.0
dtype: float32
pd.Series.bool()
该方法只能应用于只有一个bool类型元素的对象。
>>> pd.Series([True]).bool()
True
pd.Series.to_numpy(dtype=None, copy=False, na_value)
使用numpy的数组表示Series。
参数:
dtype: str or numpy.dtype, optional
array的数据类型
copy: bool, default False
是否拷贝,不是另一个数组的视图。
na_value: Any,optional
为缺失值使用的值。
>>> pd.Series([True]).to_numpy()
array([0., 1., 2., 3., 4., 5., 6.], dtype=float32)
pd.Series.to_list()
返回一个列表。
>>> s.to_list()
[0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0]
Series.get(key)
Series.at
Series.loc
Series.at
,可以是标签的列表、布尔列表,切片等。Series.iat
Series.iloc
Series.iat
,可以是整数列表、布尔列表,切片等。>>> s['b']
1.0
>>> s[1]
1.0
>>> s[['a','c']]
a 0.0
c 2.0
dtype: float32
>>> s[[2, 4]]
c 2.0
e 4.0
dtype: float32
Series.__iter__()
Series.items()
(key, value)
的迭代器。Series.keys()
Series.pop(item)
# s.__iter__()
>>> for value in iter(s):
print(value)
0.0
1.0
2.0
3.0
4.0
5.0
6.0
# s.items()
>>> for key, value in s.items():
print(key, ':', value)
a : 0.0
b : 1.0
c : 2.0
d : 3.0
e : 4.0
f : 5.0
g : 6.0
# s.keys()
>>> for key in s.keys():
print(key)
a
b
c
d
e
f
g
# s.pop(key)
>>> s
a 0.0
b 1.0
c 2.0
d 3.0
e 4.0
f 5.0
g 6.0
dtype: float32
>>> s.pop('c')
2.0
>>> s
a 0.0
b 1.0
d 3.0
e 4.0
f 5.0
g 6.0
dtype: float32